詳細(xì)設(shè)計(jì)說(shuō)明書(shū)(1)剖析_第1頁(yè)
詳細(xì)設(shè)計(jì)說(shuō)明書(shū)(1)剖析_第2頁(yè)
詳細(xì)設(shè)計(jì)說(shuō)明書(shū)(1)剖析_第3頁(yè)
詳細(xì)設(shè)計(jì)說(shuō)明書(shū)(1)剖析_第4頁(yè)
詳細(xì)設(shè)計(jì)說(shuō)明書(shū)(1)剖析_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、詳細(xì)設(shè)計(jì)說(shuō)明書(shū)1引言1. 1編寫(xiě)目的根據(jù)需求規(guī)格說(shuō)明書(shū)、概要設(shè)計(jì)說(shuō)明書(shū),在仔細(xì)考慮討論之后,我們對(duì)圖書(shū)管理系統(tǒng)軟件的功能劃分、數(shù)據(jù)結(jié)構(gòu)、軟件總體結(jié)構(gòu)的實(shí)現(xiàn)有了進(jìn)一步的想法。我們將這些想法記錄下來(lái),作為詳細(xì)設(shè)計(jì)說(shuō)明書(shū),為進(jìn)一步設(shè)計(jì)軟件、編寫(xiě)代碼打下基礎(chǔ)。1.2 背景隨著社會(huì)信息量的與日俱增,作為信息存儲(chǔ)的主要媒體之一圖書(shū),數(shù)量、規(guī)模比以往任何時(shí)候都大的多,不論個(gè)人還是圖書(shū)管理部門(mén)都需要使用方便而有效的方式來(lái)管理自己的書(shū)籍。在計(jì)算機(jī)日益普及的今天,對(duì)個(gè)人而言若采用一套行之有效的圖書(shū)管理系統(tǒng)來(lái)管理自己的書(shū)籍,會(huì)方便許多。對(duì)圖書(shū)管理部門(mén)而言,以前單一的手工檢索已不能滿(mǎn)足人們的要求,為了便于圖書(shū)資料的管

2、理需要有效的圖書(shū)管理軟件。本圖書(shū)管理系統(tǒng)軟件是一套功能比較完善的數(shù)據(jù)管理軟件,具有數(shù)據(jù)操作方便高效迅速等優(yōu)點(diǎn)。該軟件采用功能強(qiáng)大的數(shù)據(jù)庫(kù)軟件開(kāi)發(fā)工具進(jìn)行開(kāi)發(fā),具有很好的可移植性,可在應(yīng)用范圍較廣的DOSWINDOWS列等操作系統(tǒng)上使用1.3 定義文檔中采用的專(zhuān)門(mén)術(shù)語(yǔ)的定義及縮略詞簡(jiǎn)要如下:LMS:LibraryManagementSystem,圖書(shū)管理系統(tǒng)1.4 參考資料1 費(fèi)賢舉關(guān)于圖書(shū)管理系統(tǒng)的批文2 鄭人杰,殷人昆,陶永雷。實(shí)用軟件工程(第二版)。北京:清華大學(xué)出版社,1997。3 王立福,麻志毅。軟件工程(第二版)。北京:北京大學(xué)出版社,2001。4 唐學(xué)忠,王文。VisualBasi

3、c程序設(shè)計(jì)教程北京:中國(guó)電力出版社,2002。402程序系統(tǒng)的結(jié)構(gòu)3程序(標(biāo)識(shí)符)設(shè)計(jì)說(shuō)明3.1主模塊功能建立與數(shù)據(jù)庫(kù)連接獲取系統(tǒng)設(shè)置運(yùn)行主對(duì)話框根據(jù)輸入調(diào)用子模塊退出系統(tǒng)時(shí)斷開(kāi)與數(shù)據(jù)庫(kù)的連接輸入項(xiàng)目用戶(hù)鼠標(biāo)點(diǎn)擊輸入程序邏輯見(jiàn)右圖存儲(chǔ)分配內(nèi)部數(shù)據(jù):數(shù)據(jù)庫(kù)連接系統(tǒng)設(shè)置子對(duì)話框測(cè)試要點(diǎn)初始化還書(shū)模塊圖書(shū)查詢(xún)模塊系統(tǒng)查詢(xún)模塊音模塊m_pConnectionm_IsConnectedmMaxLBNumm_MaxLBDaym_BookOutDlgm_BookInDlgm_BookQuiryDlgm_SysDlgConnectionPtrBOOLintintCBookOutDlgCBooklnDlgCBo

4、okQuiryDlgCSysDlg數(shù)據(jù)庫(kù)連接指針數(shù)據(jù)庫(kù)連接指示可借圖書(shū)數(shù)上限借書(shū)天數(shù)上限借書(shū)對(duì)話框還書(shū)對(duì)話框圖書(shū)查詢(xún)對(duì)話框系統(tǒng)操作對(duì)話框數(shù)據(jù)庫(kù)連接情況:正常情況,數(shù)據(jù)庫(kù)文件缺少,外部系統(tǒng)異常。系統(tǒng)設(shè)置獲?。赫G闆r,外部系統(tǒng)異常。對(duì)用戶(hù)輸入的響應(yīng):合法輸入,能夠正常調(diào)用子模塊;非法輸入,系統(tǒng)能否辨別,并作出響應(yīng)(提出警告);子模塊的異常狀況,系統(tǒng)能否及時(shí)做出響應(yīng)。3.2借書(shū)模塊功能查驗(yàn)輸入的讀者證號(hào)運(yùn)行借書(shū)對(duì)話框獲取該讀者的相關(guān)信息查驗(yàn)輸入的圖書(shū)號(hào)登記借書(shū)輸入項(xiàng)目讀者證號(hào)、圖書(shū)書(shū)號(hào)(用戶(hù)輸入)輸出項(xiàng)目讀者信息(姓名);讀者已借圖書(shū)信息(書(shū)名、借書(shū)日期);程序邏輯接口調(diào)用形式:voidCBook

5、Dlg:LendBook(const_ConnectionPtrpConnection,constintMaxLBNum)傳入?yún)?shù):pConnection數(shù)據(jù)庫(kù)連接指針MaxLBNum系統(tǒng)參數(shù)(可借圖書(shū)上限)傳出參數(shù):無(wú)存儲(chǔ)分配內(nèi)部數(shù)據(jù):數(shù)據(jù)庫(kù)m_pConnection_ConnectionPtr數(shù)據(jù)庫(kù)連接指針用戶(hù)界面m_strReaderNameCString讀者姓名m_strLBInfCString已借圖書(shū)信息m_strLBNumCString已借圖書(shū)數(shù)顯示m_lBookIDlong欲借圖書(shū)書(shū)號(hào)內(nèi)部參數(shù)m_lReaderIDlong當(dāng)前讀者證號(hào)m_MaxLBNumint可借圖書(shū)數(shù)上限測(cè)試要

6、點(diǎn)模塊正常運(yùn)行流程用戶(hù)輸入數(shù)據(jù)檢查(讀者證號(hào)、圖書(shū)書(shū)號(hào)),包括數(shù)據(jù)合理性檢查,以及合法性檢查數(shù)據(jù)庫(kù)操作數(shù)據(jù)庫(kù)連接異常時(shí)的響應(yīng)情況3.2.1 讀者查驗(yàn)?zāi)K功能查驗(yàn)輸入的讀者證號(hào)是否合法(即是否存在與該讀者證號(hào)對(duì)應(yīng)的讀者記錄)輸入項(xiàng)目讀者證號(hào)(整型常數(shù)),讀者姓名(引用型字符串)輸出項(xiàng)目查驗(yàn)結(jié)果(BOOL值)程序邏輯生成數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句調(diào)用數(shù)據(jù)庫(kù)查詢(xún)模塊IF返回結(jié)果集為空(不存在該讀者證號(hào))置讀者姓名字符串為空返回”非法讀者證號(hào)”ELSE置讀者姓名字符串返回”合法讀者證號(hào)”接口調(diào)用形式:BOOLCheckReader(constlongReaderID,CString&strReaderName)傳

7、入?yún)?shù):ReaderID(常量參數(shù)傳入)待查驗(yàn)的讀者證號(hào)m_pConnection(借書(shū)模塊內(nèi)的全局變量)數(shù)據(jù)庫(kù)連接指針傳出參數(shù):讀者證號(hào)存在/不存在標(biāo)志(返回值)strReaderName(傳入的引用參數(shù))讀者證號(hào)對(duì)應(yīng)的讀者姓名(讀者證號(hào)不存在時(shí)置為空)存儲(chǔ)分配局部變量:數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)pReader_RecordsetPtr數(shù)據(jù)庫(kù)查詢(xún)結(jié)果集指針查詢(xún)參數(shù)vtQuiry_variant_t查詢(xún)命令vNull_variant_t查詢(xún)連接類(lèi)型轉(zhuǎn)換strQuiryCstring查詢(xún)命令類(lèi)型轉(zhuǎn)換vtemp_variant_t查詢(xún)結(jié)果類(lèi)型轉(zhuǎn)換測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常時(shí)輸入合理合法參數(shù)輸入?yún)?shù)不合理輸入?yún)?shù)不合

8、法數(shù)據(jù)庫(kù)連接異常;數(shù)據(jù)庫(kù)數(shù)據(jù)異常(讀者姓名為空)3.2.2 圖書(shū)查驗(yàn)?zāi)K功能查驗(yàn)輸入的圖書(shū)書(shū)號(hào)是否合法輸入項(xiàng)目圖書(shū)書(shū)號(hào)(整型常量)輸出項(xiàng)目查驗(yàn)結(jié)果(BOOL值)程序邏輯生成數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句調(diào)用數(shù)據(jù)庫(kù)查詢(xún)模塊IF返回結(jié)果集為空(不存在該圖書(shū)書(shū)號(hào))返回”非法圖書(shū)書(shū)號(hào)”ELSE返回”合法圖書(shū)書(shū)號(hào)”存儲(chǔ)分配局部變量:數(shù)據(jù)庫(kù)pBook_RecordsetPtr數(shù)據(jù)庫(kù)查詢(xún)結(jié)果集指針查詢(xún)參量vtQuiry_variant_t查詢(xún)字符串vNull_variant_t查詢(xún)連接參量類(lèi)型轉(zhuǎn)換strQuiryCstring查詢(xún)命令類(lèi)型轉(zhuǎn)換測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常數(shù)據(jù)庫(kù)數(shù)據(jù)正常輸入的書(shū)號(hào)合理合法輸入的書(shū)號(hào)不合理輸入的書(shū)號(hào)不

9、合法數(shù)據(jù)庫(kù)數(shù)據(jù)異常數(shù)據(jù)庫(kù)連接異常3.2.3 相關(guān)信息獲取模塊功能獲取合法讀者的借書(shū)記錄輸入項(xiàng)目合法讀者證號(hào)(整型常量);讀者已借圖書(shū)信息(引用型字符串)輸出項(xiàng)目查詢(xún)操作結(jié)果(BOOL值)程序邏輯生成數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句調(diào)用數(shù)據(jù)庫(kù)查詢(xún)模塊IF操作成功WHILE查詢(xún)結(jié)果集未讀至文件尾讀取各項(xiàng)值置入讀者已借圖書(shū)信息字符串返回”操作成功”ELSE置空讀者已借圖書(shū)信息字符串返回”操作失敗”接口調(diào)用形式:BOOLGetLBInf(constlongReaderID,CString&strLBInf)傳入?yún)⒘浚篟eaderID(整型常量)查詢(xún)參數(shù)strLBInf(引用型字符串)返回用的格式化的查詢(xún)信息傳出參量:查

10、詢(xún)成功/失敗標(biāo)志(BOOL值)查詢(xún)操作結(jié)果信息存儲(chǔ)分配局部變量:數(shù)據(jù)庫(kù)pRecords_RecordsetPtr數(shù)據(jù)庫(kù)查詢(xún)結(jié)果集指針查詢(xún)參數(shù)vtQuiry_variant_t查詢(xún)命令字符串vNull_variant_t查詢(xún)連接參量類(lèi)型轉(zhuǎn)換strQuiryCString查詢(xún)命令類(lèi)型轉(zhuǎn)換測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常數(shù)據(jù)庫(kù)數(shù)據(jù)正常輸入正常(讀者證號(hào)合法)輸入異常(讀者證號(hào)非法)數(shù)據(jù)庫(kù)數(shù)據(jù)異常數(shù)據(jù)庫(kù)連接異常3.2.4 借書(shū)登記模塊功能登錄借書(shū)信息輸入項(xiàng)目讀者證號(hào)(整型常量);圖書(shū)書(shū)號(hào)(整型常量)輸出項(xiàng)目操作Z果(BOOL值)程序邏輯生成數(shù)據(jù)庫(kù)操作命令調(diào)用數(shù)據(jù)庫(kù)操作模塊IF操作成功返回”操作成功”ELSE返回

11、”操作失敗”接口調(diào)用形式:BOOLWriteBlrecord(constlongReaderID,constlongBookID)傳入?yún)?shù):ReaderID(整型常量)操作參數(shù)(借閱者讀者證號(hào))BookID(整型常量)操作參數(shù)(借閱圖書(shū)書(shū)號(hào))傳出參數(shù):操作成功/失敗標(biāo)志(返回值)存儲(chǔ)分配局部變量:操作命令參數(shù)vRecsAffected_variant_t操作影響vtCommand_variant_t操作命令類(lèi)型轉(zhuǎn)換strCommandCString操作命令類(lèi)型轉(zhuǎn)換strTodayCString借書(shū)日期類(lèi)型轉(zhuǎn)換oleTodayCOleDateTime!借書(shū)日期測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常數(shù)據(jù)庫(kù)操作正常

12、輸入?yún)?shù)合法輸入?yún)?shù)非法數(shù)據(jù)庫(kù)操作異常數(shù)據(jù)庫(kù)連接異常4還書(shū)模塊功能運(yùn)行還書(shū)對(duì)話框查驗(yàn)輸入的圖書(shū)書(shū)號(hào)對(duì)合法輸入登錄還書(shū)信息顯示相關(guān)信息(本次還書(shū)操作信息,尚未歸還圖書(shū)的相關(guān)信息,讀者信息)輸入項(xiàng)目圖書(shū)書(shū)號(hào)(用戶(hù)輸入)輸出項(xiàng)目相關(guān)信息(本次還書(shū)操作信息,尚未歸還的圖書(shū)信息,讀者信息)程序邏輯接口調(diào)用形式:CBookInDlg:ReturnBook(const_ConnectionPtrpConnection,constintMaxLBDay)傳入?yún)⒘浚簆Connection(數(shù)據(jù)庫(kù)連接指針常量)提供數(shù)據(jù)庫(kù)連接MaxLBDay(整型常量)系統(tǒng)參數(shù)(借書(shū)天數(shù)上限)傳出參量:無(wú)存儲(chǔ)分配內(nèi)部變量:數(shù)據(jù)庫(kù)m

13、_pConnection_ConnectionPtr數(shù)據(jù)庫(kù)連接指針m_pRecords_RecordsetPtr數(shù)據(jù)庫(kù)查詢(xún)結(jié)果集指針用戶(hù)界面m_lBookIDlong欲還圖書(shū)書(shū)號(hào)m_strLenderIDCString借閱者圖書(shū)證號(hào)顯示m_strLenderCString借閱者姓名m_strRBInfCString已還圖書(shū)信息顯示m_strNRBInfCString未還圖書(shū)信息顯示m_strRBNumCString已還圖書(shū)數(shù)顯示m_strNRBNumCString未還圖書(shū)數(shù)顯示內(nèi)部參數(shù)m_lCurrIDlong當(dāng)前還書(shū)者讀者證號(hào)m_intRBNumint已還圖書(shū)計(jì)數(shù)m_MaxLBDayint借

14、書(shū)天數(shù)上限測(cè)試要點(diǎn)模塊正常工作流程對(duì)輸入的查驗(yàn),包括輸入值的合法性與合理性檢驗(yàn)數(shù)據(jù)庫(kù)連接異常能否做出適當(dāng)處理數(shù)據(jù)庫(kù)數(shù)據(jù)異常時(shí)能否判斷并給予適當(dāng)處理4.1 借書(shū)記錄查驗(yàn)?zāi)K功能查驗(yàn)借書(shū)記錄是否存在(即是否存在與指定書(shū)號(hào)相對(duì)應(yīng)的借書(shū)記錄)輸入項(xiàng)目圖書(shū)書(shū)號(hào)(傳入?yún)?shù))輸出項(xiàng)目查驗(yàn)結(jié)果(返回值);查詢(xún)結(jié)果集(圖書(shū)書(shū)號(hào)、書(shū)名、狀態(tài)、出借日期)程序邏輯生成數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句調(diào)用數(shù)據(jù)庫(kù)查詢(xún)模塊IF操作成功IF查詢(xún)結(jié)果集不為空(存在該借書(shū)記錄)返回”記錄存在”ELSE警告”記錄不存在”ELSE警告”查詢(xún)失敗”返回”記錄不存在”接口調(diào)用形式:BOOLCheckBlrcord(constlongBookID)傳入?yún)⒘?/p>

15、:BookID(整型常量)傳出參量:書(shū)號(hào)合法/非法標(biāo)志(BOOL型)存儲(chǔ)分配局部變量:查詢(xún)參數(shù)vtQuiry_variant_t查詢(xún)命令4.2vNull類(lèi)型轉(zhuǎn)換strQuiry引用的全局變量:m_pConnectionm_pRecords測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常數(shù)據(jù)庫(kù)數(shù)據(jù)正常合法的圖書(shū)書(shū)號(hào)不合法的圖書(shū)書(shū)號(hào)數(shù)據(jù)庫(kù)數(shù)據(jù)異常數(shù)據(jù)庫(kù)連接異常相關(guān)信息獲取模塊功能獲取指定讀者圖書(shū)的總本數(shù)。_variant_t查詢(xún)連接CString查詢(xún)命令類(lèi)型轉(zhuǎn)換_ConnectionPtr使用_RecordsetPtr寫(xiě)(打開(kāi))返回“真”查驗(yàn)結(jié)果返回“假”查驗(yàn)結(jié)果,給出警告提示返回“假”查驗(yàn)結(jié)果,給出數(shù)據(jù)異常警告返回“假”

16、查驗(yàn)結(jié)果,給出數(shù)據(jù)庫(kù)連接異常警告(讀者證號(hào))的借書(shū)記錄,獲取的信息包括所借圖書(shū)書(shū)名,借書(shū)日期以及所借輸入項(xiàng)目讀者證號(hào)(傳入?yún)?shù));相關(guān)(借書(shū))信息(公共變量)輸出項(xiàng)目已借圖書(shū)數(shù)(返回值)程序邏輯生成數(shù)據(jù)庫(kù)查詢(xún)命令I(lǐng)F操作成功初始化(相關(guān)信息字符串置為空已借圖書(shū)計(jì)數(shù)置為0)WHILE未讀至查詢(xún)結(jié)果集尾置相關(guān)信息字符串計(jì)數(shù)累加返回計(jì)數(shù)值ELSE置相關(guān)信息字符串為”操作異?!狈祷亍笔?biāo)志”(-1)接口調(diào)用形式:intGetLBInf(constlongReaderID)傳入?yún)?shù):ReaderID(整型常量)指定的讀者證號(hào)傳出參數(shù):獲取的相關(guān)記錄數(shù)(整型)如發(fā)生異常,返回值置為負(fù)返回值置為負(fù)存儲(chǔ)分配

17、局部變量:查詢(xún)參數(shù)vtQuiry_variant_t查詢(xún)命令vNull_variant_t查詢(xún)連接類(lèi)型轉(zhuǎn)換strQuiryCString查詢(xún)命令類(lèi)型轉(zhuǎn)換vtemp_variant_t查詢(xún)結(jié)果類(lèi)型轉(zhuǎn)換oleDateCOleDateTime借書(shū)時(shí)間類(lèi)型轉(zhuǎn)換記錄計(jì)數(shù)countint計(jì)算獲取的記錄數(shù)引用的全局變量:m_pConnection_ConnectionPtr使用m_pRecords_RecordsetPtr寫(xiě)(打開(kāi)、關(guān)閉)m_strNRBInfCString寫(xiě)測(cè)試要點(diǎn) 數(shù)據(jù)庫(kù)連接正常 數(shù)據(jù)庫(kù)數(shù)據(jù)正常數(shù)據(jù)庫(kù)數(shù)據(jù)異常數(shù)據(jù)庫(kù)連接異??色@取的借書(shū)記錄數(shù)為零 可獲取的借書(shū)記錄數(shù)不為零返回結(jié)果為0,引用

18、字符串置空返回記錄數(shù),并將相關(guān)信息記錄在引用字符串中返回異常指示,給出警告返回異常指示,給出警告4.4 還書(shū)信息記錄模塊功能記錄本次還書(shū)操作的信息,包括圖書(shū)書(shū)名,超期天數(shù)。輸入項(xiàng)目包含相關(guān)信息(書(shū)名、借書(shū)日期)的查詢(xún)結(jié)果集(公共變量)輸出項(xiàng)目更新后的格式化還書(shū)信息(公共變量)程序邏輯WHILE傳入的查詢(xún)結(jié)果集未讀至文件尾讀取書(shū)名,置入還書(shū)信息字符串讀取借書(shū)日期計(jì)算超期天數(shù)置入還書(shū)信息字符串光標(biāo)移至下一個(gè)記錄接口調(diào)用形式:voidSaveRBInf(void)傳入?yún)?shù):無(wú)傳出參數(shù):無(wú)存儲(chǔ)分配局部變量:類(lèi)型轉(zhuǎn)換vtemp_variant_t查詢(xún)結(jié)果類(lèi)型轉(zhuǎn)換strExcessCString超期天數(shù)類(lèi)

19、型轉(zhuǎn)換計(jì)算變量oleDateCOleDateTime借書(shū)日期oleExcessCOleDateTimeSpan超期天數(shù)intExcessint超期天數(shù)引用的全局變量:m_pRecords_RecordsetPtr讀(關(guān)閉記錄集)m_strRBInfCString更新m_MaxLBDayint讀測(cè)試要點(diǎn)查詢(xún)結(jié)果集正常查詢(xún)結(jié)果集異常4.5 還書(shū)登記模塊功能登記還書(shū)(刪除借書(shū)記錄,更新圖書(shū)狀態(tài))輸入項(xiàng)目圖書(shū)書(shū)號(hào)(輸入?yún)?shù))輸出項(xiàng)目操作成功/失敗標(biāo)志(返回值)程序邏輯生成數(shù)據(jù)庫(kù)操作命令(更新)IF操作成功生成數(shù)據(jù)庫(kù)操作命令(刪除)IF操作成功返回”操作成功”返回”操作失敗”接口調(diào)用形式:BOOLDel

20、Blrecord(constlongBookID)傳入?yún)?shù):BookID(整型常量)返還圖書(shū)書(shū)號(hào)傳出參數(shù):操作成功/失敗標(biāo)志(BOOL值)存儲(chǔ)分配局部變量:操作參數(shù)vtCommand_variant_tvRecsAffected_variant_t類(lèi)型轉(zhuǎn)換strCommandCString弓I用的全局變量:m_pConnection_ConnectionPtr測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常圖書(shū)書(shū)號(hào)合法圖書(shū)書(shū)號(hào)不合法數(shù)據(jù)庫(kù)連接異常圖書(shū)查詢(xún)模塊操作命令操作影響參數(shù)操作命令類(lèi)型轉(zhuǎn)換使用功能根據(jù)給定查詢(xún)條件,查詢(xún)數(shù)據(jù)庫(kù),獲取圖書(shū)信息輸入項(xiàng)目查詢(xún)方式指定以及查詢(xún)關(guān)鍵字輸出項(xiàng)目查詢(xún)結(jié)果列表顯不程序邏輯接口調(diào)用形式

21、:CBookQuiryDlg:QuiryBook(const_ConnectionPtrpConnection)傳入?yún)?shù):pConnection(數(shù)據(jù)庫(kù)連接指針)傳出參數(shù):無(wú)存儲(chǔ)分配內(nèi)部變量:數(shù)據(jù)庫(kù)m_pBooks_RecordsetPtr數(shù)據(jù)庫(kù)查詢(xún)結(jié)果集指針用戶(hù)界面m_strAuthorCString作者關(guān)鍵字m_bAuthorBOOL作者查詢(xún)選擇狀態(tài)m_strBookNameCString書(shū)名關(guān)鍵字m_bBookNameBOOL書(shū)名查詢(xún)選擇狀態(tài)m_strPublisherCString出版社關(guān)鍵字m_bPublisherBOOL出版社查詢(xún)選擇狀態(tài)m_intYear1int出版時(shí)間關(guān)鍵字m_

22、intYear2int出版時(shí)間關(guān)鍵字m_intMonth1int出版時(shí)間關(guān)鍵字m_intMonth2int出版時(shí)間關(guān)鍵字m_bPubTimeBOOL出版時(shí)間查詢(xún)選擇狀態(tài)m_intTimeTypeint出版時(shí)間查詢(xún)方式選擇局部變量:查詢(xún)參數(shù)vtQuiry_variant_t查詢(xún)命令vNull_variant_t查詢(xún)連接類(lèi)型轉(zhuǎn)換strQuiryCString查詢(xún)命令類(lèi)型轉(zhuǎn)換測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常數(shù)據(jù)庫(kù)數(shù)據(jù)正常獲得正確的查詢(xún)結(jié)果并顯示數(shù)據(jù)庫(kù)數(shù)據(jù)異常土口山聲口數(shù)據(jù)庫(kù)連接異常汩山育口5.1查詢(xún)命令生成模塊功能根據(jù)用戶(hù)界面的輸入生成查詢(xún)命令輸入項(xiàng)目用戶(hù)界面的輸入值(公共變量)輸出項(xiàng)目查詢(xún)命令(返回值)程序

23、邏輯讀取各復(fù)選框的值IF選中AND關(guān)鍵字不為空生成查詢(xún)條件生成數(shù)據(jù)庫(kù)查詢(xún)命令返回生成的查詢(xún)命令接口調(diào)用形式:CStringGetQuiryString()傳入?yún)?shù):無(wú)傳出參數(shù):查詢(xún)命令(CString)存儲(chǔ)分配局部變量:strQuiryCString查詢(xún)命令字符串strTempCString臨時(shí)字符串測(cè)試要點(diǎn)用戶(hù)輸入合理用戶(hù)輸入不合理(沒(méi)有指定查詢(xún)方式,沒(méi)有輸入查詢(xún)關(guān)鍵字)5.2 數(shù)據(jù)庫(kù)查詢(xún)模塊功能根據(jù)輸入的查詢(xún)命令查詢(xún)數(shù)據(jù)庫(kù)輸入項(xiàng)目查詢(xún)命令(傳入?yún)?shù))輸出項(xiàng)目數(shù)據(jù)庫(kù)查詢(xún)結(jié)果(返回值);數(shù)據(jù)庫(kù)查詢(xún)結(jié)果集(公共變量)程序邏輯查詢(xún)數(shù)據(jù)庫(kù)IF操作成功返回”操作成功”ELSE返回”操作失敗”接口調(diào)用形

24、式:BOOLDBQuiry(constCStringstrQuiry)傳入?yún)?shù):strQuiry(字符串型常量)數(shù)據(jù)庫(kù)查詢(xún)命令傳出參數(shù):查詢(xún)操作成功/失敗標(biāo)志(BOOL值)存儲(chǔ)分配局部變量:查詢(xún)參數(shù)vtQuiryvRecsAffected引用的全局變量:m_pConnectionm_pBooks測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常輸入查詢(xún)命令合法獲取非空查詢(xún)結(jié)果集返回“真”返回值,查詢(xún)結(jié)果保存在查詢(xún)結(jié)果集中獲取空查詢(xún)結(jié)果集返回“真”返回值,查詢(xún)結(jié)果集為空輸入查詢(xún)命令不合法返回“假”返回值,查詢(xún)結(jié)果集指針指向空,給出警告數(shù)據(jù)庫(kù)連接異常_varaint_t數(shù)據(jù)庫(kù)查詢(xún)命令_variant_t數(shù)據(jù)庫(kù)查詢(xún)連接_Con

25、nectionPtr使用_RecordsetPtr讀返回值,查詢(xún)結(jié)果保存在查詢(xún)結(jié)果集中返回值,查詢(xún)結(jié)果集為空“假”返回值,查詢(xún)結(jié)果集指針指向空,給出警告5.3 數(shù)據(jù)顯示模塊功能按一定格式列表顯示查詢(xún)結(jié)果,并根據(jù)用戶(hù)要求重排列輸入項(xiàng)目查詢(xún)結(jié)果集(傳入?yún)?shù));輸出項(xiàng)名稱(chēng)(傳入?yún)?shù));查詢(xún)結(jié)果表參數(shù),包括行數(shù)、列數(shù)(傳入?yún)?shù))輸出項(xiàng)目用戶(hù)界面顯示程序邏輯初始化(設(shè)置行數(shù)、列數(shù)、列名稱(chēng),載入輸入的查詢(xún)結(jié)果集內(nèi)的數(shù)據(jù))顯示列表WHILE用戶(hù)未輸入“返回”IF用戶(hù)拖動(dòng)列的標(biāo)題欄重新設(shè)置列的位置排序刷新顯示返回接口測(cè)試要點(diǎn)查詢(xún)結(jié)果正常查詢(xún)結(jié)果集為空查詢(xún)結(jié)果集不為空 查詢(xún)結(jié)果異常顯示消息框提示正常顯示結(jié)果列表

26、,并根據(jù)用戶(hù)輸入調(diào)整輸出顯示警告調(diào)用形式:CListShowDlg:ShowList(const_RecordsetPtrpRecords,傳入?yún)?shù):CString*strArray,constintcols,constintrows)pRecords(數(shù)據(jù)庫(kù)查詢(xún)結(jié)果集指針)需要顯示的查詢(xún)結(jié)果傳出參數(shù):無(wú)存儲(chǔ)分配內(nèi)部數(shù)據(jù):數(shù)據(jù)庫(kù)strArray(字符串?dāng)?shù)組頭指針)顯示項(xiàng)的名稱(chēng)(列名)cols(整型常量)列表列數(shù)rows(整型常量)列表行數(shù)無(wú)m_pRecords_RecordsetPtr數(shù)據(jù)庫(kù)查詢(xún)結(jié)果集內(nèi)部參數(shù)m_strArrayCString20列名存儲(chǔ)數(shù)組m_intColsint列表列數(shù)m_

27、intRowsint列表行數(shù)m_cltFGridCMSFlexGrid列表控件m_iMouseColint用戶(hù)鼠標(biāo)所在列系統(tǒng)操作模塊功能驗(yàn)證輸入的系統(tǒng)操作員賬號(hào)以及口令,完成權(quán)限管理運(yùn)行系統(tǒng)操作對(duì)話框,根據(jù)用戶(hù)輸入調(diào)用各子模塊,完成:圖書(shū)庫(kù)操作(瀏覽、修改、增加、刪除);讀者庫(kù)操作(瀏覽、修改、增加、刪除);數(shù)據(jù)統(tǒng)計(jì);更改口令;系統(tǒng)管理(修改系統(tǒng)設(shè)置,瀏覽、修改、增加、刪除系統(tǒng)操作員);輸入項(xiàng)目數(shù)據(jù)庫(kù)連接(傳入?yún)?shù))輸出項(xiàng)目無(wú)程序邏輯接口調(diào)用形式:CSysDlg:ManageSys(const_ConnectionPtrpConnection)傳出參數(shù):無(wú)存儲(chǔ)分配內(nèi)部數(shù)據(jù):數(shù)據(jù)庫(kù)m_pConn

28、ection_ConnectionPtr子模塊m_BookDlgCBookDlgm_ReaderDlgCReaderDlgm_QuiryDlgCQuiryDlgm_SysSettingDlg CSysSettingDlg內(nèi)部參數(shù)m_strCurrUserCStringm_RightLevelint局部變量:輸入pwdDlgCPasswordDlg測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常正常執(zhí)行過(guò)程傳入?yún)?shù):pConnection (數(shù)據(jù)庫(kù)連接指針)數(shù)據(jù)庫(kù)連接指針 圖書(shū)庫(kù)操作子模塊 讀者庫(kù)操作子模塊 數(shù)據(jù)統(tǒng)計(jì)子模塊 系統(tǒng)設(shè)置子模塊 當(dāng)前操作者賬號(hào) 操作權(quán)限賬號(hào)口令輸入對(duì)話框根據(jù)權(quán)限進(jìn)行顯示控制,正常調(diào)用各子模塊曜

29、a育口輸入的賬號(hào)口令合法輸入的賬號(hào)口令不合法數(shù)據(jù)庫(kù)連接異常6.1 系統(tǒng)操作權(quán)限查驗(yàn)?zāi)K功能查驗(yàn)輸入的系統(tǒng)操作員賬號(hào)以及口令是否合法,并返回合法操作員的權(quán)限級(jí)別輸入項(xiàng)目系統(tǒng)操作員口令(傳入?yún)?shù))輸出項(xiàng)目操作員權(quán)限級(jí)別(返回值)程序邏輯生成數(shù)據(jù)庫(kù)查詢(xún)命令查詢(xún)數(shù)據(jù)庫(kù)IF操作成功IF查詢(xún)結(jié)果集非空返回權(quán)限級(jí)別ELSE顯示警告”非法的賬號(hào)或口令”返回-1ELSE顯示警告”不能查詢(xún)數(shù)據(jù)庫(kù)”返回-1接口調(diào)用形式:CheckRight(constCStringoldPwd)傳入?yún)?shù):oldPwd(字符串常量)待查驗(yàn)的系統(tǒng)操作員口令傳出參數(shù):系統(tǒng)操作權(quán)限系統(tǒng)操作權(quán)限(整型,0-7)如口令非法,置為-1存儲(chǔ)分配局

30、部變量:數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)pTemp_RecordsetPtr數(shù)據(jù)庫(kù)查詢(xún)結(jié)果集指針查詢(xún)參數(shù)vNull_variant_t數(shù)據(jù)庫(kù)查詢(xún)連接vtQuiry_variant_t數(shù)據(jù)庫(kù)查詢(xún)命令類(lèi)型轉(zhuǎn)換strQuiryCString查詢(xún)命令類(lèi)型轉(zhuǎn)換內(nèi)部參數(shù)resultint權(quán)限級(jí)別引用的全局變量:m_pConnection_ConnectionPtr數(shù)據(jù)庫(kù)連接指針m_strCurrUserCString當(dāng)前操作員賬號(hào)測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常獲取相應(yīng)的權(quán)限級(jí)別返回錯(cuò)誤指示,給出警告數(shù)據(jù)庫(kù)數(shù)據(jù)正常合法的賬號(hào)口令非法的賬號(hào)口令數(shù)據(jù)庫(kù)數(shù)據(jù)異常數(shù)據(jù)庫(kù)連接異常6.2 圖書(shū)庫(kù)操作模塊功能根據(jù)輸入提供對(duì)圖書(shū)庫(kù)的瀏覽、數(shù)據(jù)修改、增

31、加、刪除記錄等操作增加記錄時(shí),提供對(duì)生成的圖書(shū)書(shū)號(hào)的唯一性驗(yàn)證刪除記錄時(shí),提供對(duì)所刪除記錄的相關(guān)性檢驗(yàn)輸入項(xiàng)目數(shù)據(jù)庫(kù)連接(傳入?yún)?shù))輸出項(xiàng)目無(wú)程序邏輯初始(獲取數(shù)據(jù)庫(kù)連接,顯示對(duì)話框)WHILE用戶(hù)未輸入退出IF用戶(hù)輸入”下一個(gè)”更新當(dāng)前記錄移動(dòng)至下一個(gè)記錄刷新顯示IF用戶(hù)輸入”上一個(gè)”更新當(dāng)前記錄移動(dòng)至上一個(gè)記錄刷新顯示IF用戶(hù)輸入”移動(dòng)到”更新當(dāng)前記錄要求輸入圖書(shū)書(shū)號(hào)IF該書(shū)號(hào)存在移動(dòng)到指定的記錄刷新顯示ELSE顯示警告”該圖書(shū)書(shū)號(hào)不存在”IF用戶(hù)輸入”加入”更新當(dāng)前記錄要求輸入圖書(shū)書(shū)號(hào)IF該書(shū)號(hào)已存在顯示警告”該書(shū)號(hào)已存在”ELSE插入指定圖書(shū)書(shū)號(hào)的新記錄記錄總數(shù)加一光標(biāo)移動(dòng)至新記錄處I

32、F用戶(hù)輸入”刪除”更新當(dāng)前記錄給出警告”確定繼續(xù)”IF用戶(hù)確認(rèn)繼續(xù)IF該圖書(shū)借出給出警告”刪除相關(guān)借書(shū)記錄”IF用戶(hù)確認(rèn)刪除相關(guān)借書(shū)記錄ELSE中止操作刪除該圖書(shū)記錄記錄總數(shù)減一IF最后一條記錄被刪除移動(dòng)至前一條記錄ELSE移動(dòng)至下一條記錄 顯示刷新更新記錄接口調(diào)用形式:CBookDlg:ManageBooks(const_ConnectionPtrpConnection)傳入?yún)?shù):pConnection(數(shù)據(jù)庫(kù)連接指針)傳出參數(shù):無(wú) 存儲(chǔ)分配 內(nèi)部數(shù)據(jù):數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)m_pConnection_ConnectionPtr數(shù)據(jù)庫(kù)連接指針m_pRs_RecordsetPtr數(shù)據(jù)庫(kù)查詢(xún)結(jié)果集指針用戶(hù)

33、界面m_lBookIDlong當(dāng)前記錄中書(shū)號(hào)項(xiàng)m_strAuthorCString當(dāng)前記錄中作者項(xiàng)m_strBookNameCString當(dāng)前記錄中書(shū)名項(xiàng)m_strPublisherCString當(dāng)前記錄中出版社項(xiàng)m_uPublishYearUINT當(dāng)前記錄中出版年項(xiàng)m_uPublishMonth UINT當(dāng)前記錄中出版月項(xiàng)m_intStatusint當(dāng)前記錄中狀態(tài)項(xiàng)m_fBookPricefloat當(dāng)前記錄中單價(jià)項(xiàng)m_strCurrentBookCString當(dāng)前記錄位置顯示m_strTotalBookCString記錄總數(shù)顯示內(nèi)部參數(shù)m_intPositionint當(dāng)前記錄位置計(jì)數(shù)m_lR

34、ecordCountlong記錄總數(shù)計(jì)數(shù)無(wú)測(cè)試要點(diǎn)是否工作狀態(tài)正常對(duì)各種用戶(hù)輸入的響應(yīng)數(shù)據(jù)庫(kù)連接正常記錄集為空記錄集非空數(shù)據(jù)庫(kù)連接異常6.2.1 獲取圖書(shū)記錄集模塊功能獲取所有圖書(shū)記錄,置記錄總數(shù)以及當(dāng)前位置的初始值輸入項(xiàng)目操作成功/失敗標(biāo)志(返回值)輸出項(xiàng)目圖書(shū)記錄集(公共變量);記錄總數(shù)(公共變量);當(dāng)前位置(公共變量)程序邏輯生成數(shù)據(jù)庫(kù)查詢(xún)命令查詢(xún)數(shù)據(jù)庫(kù)IF操作成功返回”成功”ELSE返回”失敗”接口調(diào)用形式:BOOLOpenRecords()傳入?yún)?shù):無(wú) 傳出參數(shù):操作成功 引用的全局變量:存儲(chǔ)分配局部變量:查詢(xún)參數(shù)/失敗標(biāo)志(BOOL值) m_pRs m_intPosition m_

35、lRecordCountvNullvtQuiry類(lèi)型轉(zhuǎn)換 strQuiry測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常_RecordsetPtr int long_variant_t _variant_t CString寫(xiě)(打開(kāi) )寫(xiě)寫(xiě)查詢(xún)連接查詢(xún)命令查詢(xún)命令類(lèi)型轉(zhuǎn)換圖書(shū)記錄集為空?qǐng)D書(shū)記錄集非空數(shù)據(jù)庫(kù)連接異常6.2.2 更新顯示模塊功能更顯當(dāng)前顯示輸入項(xiàng)目圖書(shū)記錄集(公共變量);用戶(hù)界面顯示字符串(公共變量)輸出項(xiàng)目更新后的用戶(hù)界面顯示字符串(公共變量)程序邏輯逐項(xiàng)讀取記錄中的數(shù)據(jù)域置入顯示字符串中IF當(dāng)前記錄為第一條禁止”前一個(gè)”按鈕IF當(dāng)前記錄為最后一條禁止”后一個(gè)”按鈕IF記錄總數(shù)為0禁止”加入”以外的所有按

36、鈕刷新顯示界面接口調(diào)用形式:voidRefreshDataView()傳入?yún)?shù):無(wú)傳出參數(shù):無(wú)引用的全局變量:m_pRs_RecordsetPtr讀m_lBookIDlong寫(xiě)m_strAuthorCString寫(xiě)m_strBookNameCString寫(xiě)m_strPublisherCString寫(xiě)m_uPublishYearUINT寫(xiě)m_uPublishMonthUINT寫(xiě)m_intStatusint寫(xiě)m_fBookPricefloat寫(xiě)m_strCurrentBookCString寫(xiě)m_strTotalBookCString寫(xiě)存儲(chǔ)分配局部變量:類(lèi)型轉(zhuǎn)換vtemp_variant_t記錄集數(shù)

37、據(jù)域類(lèi)型轉(zhuǎn)換測(cè)試要點(diǎn)記錄集正常記錄集為空記錄集非空記錄集異常6.2.3 更新當(dāng)前記錄模塊功能根據(jù)用戶(hù)界面的輸入更新當(dāng)前記錄輸入項(xiàng)目用戶(hù)界面的輸入,即用戶(hù)界面各顯示變量的值(公共變量)輸出項(xiàng)目數(shù)據(jù)庫(kù)中更新后的圖書(shū)記錄(存儲(chǔ)文件);操作成功/失敗標(biāo)志(返回值)程序邏輯保存當(dāng)前圖書(shū)書(shū)號(hào)讀入界面的值IF書(shū)號(hào)發(fā)生變化給出警告”不能更改圖書(shū)書(shū)號(hào)”恢復(fù)圖書(shū)書(shū)號(hào)的值生成數(shù)據(jù)庫(kù)更新語(yǔ)句IF更新操作成功重新獲取記錄集光標(biāo)移動(dòng)到原位置返回”成功”ELSE給出警告”操作失敗”返回”失敗”接口調(diào)用形式:BOOLRefreshData()傳入?yún)?shù):無(wú)傳出參數(shù):操作成功/失敗標(biāo)志(BOOL值)引用的全局變量:m_pConn

38、ection_ConnectionPtr使用m_pRs_RecordsetPtr寫(xiě)m_lBookIDlong讀寫(xiě)m_strAuthorCString讀m_strBookNameCString讀m_strPublisherCString讀m_uPublishYearUINT讀m_uPublishMonthUINT讀m_intStatusint讀m_fBookPricefloatm_strCurrentBookCStringm_strTotalBookCString存儲(chǔ)分配局部變量:操作參數(shù)vtCommand_varaint_tvRecsAffected_variant_tstrCommandCS

39、tring內(nèi)部參數(shù)currBookIDlong測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常輸入數(shù)據(jù)合法合理輸入數(shù)據(jù)不合理輸入數(shù)據(jù)不合法(更改圖書(shū)書(shū)號(hào))數(shù)據(jù)庫(kù)連接異常讀讀讀操作命令操作連接操作命令類(lèi)型轉(zhuǎn)換當(dāng)前圖書(shū)書(shū)號(hào)保存6.2.4獲取相關(guān)記錄模塊功能查驗(yàn)是否存在相關(guān)的借書(shū)記錄輸入項(xiàng)目圖書(shū)書(shū)號(hào)(傳入?yún)?shù))輸出項(xiàng)目相關(guān)借書(shū)記錄存在/不存在標(biāo)志(返回值)程序邏輯生成數(shù)據(jù)庫(kù)查詢(xún)命令,執(zhí)行查詢(xún)IF操作成功IF查詢(xún)結(jié)果集為空返回”不存在”ELSE返回”存在”ELSE處中跳a”給出警告不能查詢(xún)數(shù)據(jù)庫(kù)不能查詢(xún)數(shù)據(jù)庫(kù)”返回”存在”接口調(diào)用形式:傳入?yún)?shù):BookID(整型常量)待查驗(yàn)的圖書(shū)書(shū)號(hào)傳出參數(shù):查驗(yàn)結(jié)果查驗(yàn)結(jié)果(BOOL值)引

40、用的全局變量:m_pConnection使用存儲(chǔ)分配局部變量:數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)pLBook_RecordsetPtr數(shù)據(jù)庫(kù)查詢(xún)結(jié)果集指針查詢(xún)參數(shù)vtQuiry_variant_t查詢(xún)命令vNull_variant_t查詢(xún)連接類(lèi)型轉(zhuǎn)換strQuiryCString查詢(xún)命令類(lèi)型轉(zhuǎn)換BOOLRelatedExisted(constlongBookID)測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常相關(guān)記錄存在返回“真”相關(guān)記錄不存在返回“假”數(shù)據(jù)庫(kù)連接異常6.3 讀者庫(kù)操作模塊功能根據(jù)輸入提供對(duì)讀者庫(kù)的瀏覽、數(shù)據(jù)修改、增加、刪除記錄等操作增加記錄時(shí),提供對(duì)生成的讀者證號(hào)的唯一性驗(yàn)證刪除記錄時(shí),提供對(duì)所刪除記錄的相關(guān)性檢驗(yàn)輸入項(xiàng)

41、目數(shù)據(jù)庫(kù)連接(傳入?yún)?shù))輸出項(xiàng)目無(wú)程序邏輯初始化(獲取數(shù)據(jù)庫(kù)連接,顯示對(duì)話框)WHILE用戶(hù)未輸入退出IF用戶(hù)輸入”下一個(gè)”更新當(dāng)前記錄移動(dòng)至下一個(gè)記錄刷新顯示IF用戶(hù)輸入”上一個(gè)”更新當(dāng)前記錄移動(dòng)至上一個(gè)記錄刷新顯示IF用戶(hù)輸入”第一個(gè)”更新當(dāng)前記錄移動(dòng)至第一個(gè)記錄刷新顯示IF用戶(hù)輸入”最后一個(gè)”更新當(dāng)前記錄移動(dòng)至最后一個(gè)記錄刷新顯示IF用戶(hù)輸入”移動(dòng)到”更新當(dāng)前記錄要求輸入讀者證號(hào)IF該讀者證號(hào)存在移動(dòng)到指定的記錄刷新顯示ELSE顯示警告”該讀者證號(hào)不存在”IF用戶(hù)輸入”加入”更新當(dāng)前記錄要求輸入讀者證號(hào)IF該讀者證號(hào)已存在顯示警告”該讀者證號(hào)已存在”ELSE插入指定讀者證號(hào)的新記錄記錄總

42、數(shù)加一光標(biāo)移動(dòng)至新記錄處IF 用戶(hù)輸入”刪除”更新當(dāng)前記錄給出警告”確定繼續(xù)”IF 用戶(hù)確認(rèn)繼續(xù)IF 該讀者已借圖書(shū)信息不為空給出警告”有未還圖書(shū) , 不能刪除”ELSE刪除該圖書(shū)記錄記錄總數(shù)減一IF 最后一條記錄被刪除移動(dòng)至前一條記錄ELSE移動(dòng)至下一條記錄顯示刷新更新記錄接口 調(diào)用形式: 傳入?yún)?shù): 傳出參數(shù):無(wú) 存儲(chǔ)分配 內(nèi)部變量:數(shù)據(jù)庫(kù)void CReaderDlg:ManageReader(const _ConnectionPtr pConnection)pConnection無(wú)ConnectionPtr數(shù)據(jù)庫(kù)連接指針攵據(jù)庫(kù)m_pConnection_ConnectionPtr數(shù)據(jù)庫(kù)

43、連接指針m_pReaders_RecordsetPtr數(shù)據(jù)庫(kù)查詢(xún)結(jié)果集指針用戶(hù)界面m_lReaderIDlong當(dāng)前記錄中讀者證號(hào)項(xiàng)m_strAttatchmentCString當(dāng)前記錄中聯(lián)系方法項(xiàng)m_strReaderNameCString當(dāng)前記錄中讀者姓名項(xiàng)m_strRelateInfCString當(dāng)前記錄相關(guān)信息顯示m_strPositionCString當(dāng)前記錄位置顯示m_strTotalNumCString記錄總數(shù)顯示內(nèi)部數(shù)據(jù)m_intPositionint當(dāng)前記錄位置計(jì)數(shù)m_lReaderNumlong記錄總數(shù)計(jì)數(shù)測(cè)試要點(diǎn) 數(shù)據(jù)庫(kù)連接正常 數(shù)據(jù)庫(kù)連接異常程序正常運(yùn)行流程,根據(jù)輸入調(diào)

44、用各子模塊根據(jù)輸入調(diào)用各子模塊6.3.1 獲取讀者記錄集模塊功能獲取所有讀者記錄輸入項(xiàng)目無(wú)輸出項(xiàng)目操作成功/失敗標(biāo)志(返回值);讀者記錄集(公共變量)程序邏輯生成數(shù)據(jù)庫(kù)查詢(xún)命令查詢(xún)數(shù)據(jù)庫(kù)IF操作成功返回”成功”ELSE返回”失敗”接口調(diào)用形式:BOOLOpenRs()傳入?yún)?shù):無(wú)傳出參數(shù):操作成功/失敗標(biāo)志(BOOL值)引用的全局變量:m_pReaders_RecordsetPtr寫(xiě)m_intPositionint寫(xiě)m_lReaderNumlong寫(xiě)存儲(chǔ)分配局部變量:查詢(xún)參數(shù)bstrQuery_bstr_t查詢(xún)命令vtNull_variant_t查詢(xún)連接測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常記錄集為空返回“真

45、”,記錄集為空,位置計(jì)數(shù)與記錄總數(shù)為0記錄集非空返回“真”,記錄集非空,位置計(jì)數(shù)為1數(shù)據(jù)庫(kù)連接異常6.3.2 更新顯示模塊功能更新當(dāng)前記錄的顯示輸入項(xiàng)目記錄集當(dāng)前記錄各項(xiàng)值(公共變量);未更新的用戶(hù)界面顯示字符串(公共變量)輸出項(xiàng)目更新后的用戶(hù)界面顯示字符串(公共變量)程序邏輯逐項(xiàng)讀取記錄中的數(shù)據(jù)域置入顯示字符串中IF當(dāng)前記錄為第一條禁止”前一個(gè)”按鈕、”第一個(gè)”按鈕IF當(dāng)前記錄為最后一條禁止”后一個(gè)”按鈕、”最后一個(gè)”按鈕IF記錄總數(shù)為0禁止”加入”以外的所有按鈕調(diào)用相關(guān)信息獲取模塊,置相關(guān)借書(shū)信息字符串刷新顯示界面接口調(diào)用形式:voidRefreshDataView()傳入?yún)?shù):無(wú)傳出參數(shù)

46、:無(wú)引用的全局變量:m_pReaders_RecordsetPtr讀m_lReaderIDlong寫(xiě)m_strReaderNameCString寫(xiě)m_strAttatchmentCString寫(xiě)m_lReaderNumlong讀m_intPositionlong讀m_strTotalNumCString寫(xiě)m_strPositionCString寫(xiě)m_strRelatedInfCString寫(xiě)存儲(chǔ)分配局部變量:類(lèi)型轉(zhuǎn)換vtemp_variant_t記錄數(shù)據(jù)域類(lèi)型轉(zhuǎn)換測(cè)試要點(diǎn)數(shù)據(jù)集正常獲取相應(yīng)的數(shù)據(jù)項(xiàng),并顯示數(shù)據(jù)集異常給出警告6.3.3 更新當(dāng)前記錄模塊功能根據(jù)用戶(hù)界面的輸入,更新當(dāng)前記錄的各數(shù)據(jù)

47、域輸入項(xiàng)目用戶(hù)界面編輯變量值(公共變量)輸出項(xiàng)目更新后的數(shù)據(jù)域值(存儲(chǔ)文件);操作成功/失敗標(biāo)志(返回值)程序邏輯保存當(dāng)前讀者證號(hào)讀入界面的值IF讀者證號(hào)發(fā)生變化給出警告”不能更改讀者證號(hào)”恢復(fù)讀者證號(hào)的值生成數(shù)據(jù)庫(kù)更新語(yǔ)句IF更新操作成功重新獲取記錄集光標(biāo)移動(dòng)到原位置返回”成功”ELSE給出警告”操作失敗”返回”失敗”接口調(diào)用形式:BOOLRefreshData()傳入?yún)?shù):無(wú)傳出參數(shù):操作成功/失敗標(biāo)志(BOOL值)引用的全局變量:m_pConnection_ConnectionPtr使用m_lReaderIDlong讀寫(xiě)存儲(chǔ)分配局部變量:操作參數(shù)類(lèi)型轉(zhuǎn)換數(shù)據(jù)保存測(cè)試要點(diǎn)數(shù)據(jù)庫(kù)連接正常輸入數(shù)據(jù)合法m_strReaderName m_strAttatchmentvtCommand vRecsAffected strCommand CurrRIDCString CString_varaint_t _variant_t CString long讀 讀操作命令 操作結(jié)果影響 操作命令類(lèi)型轉(zhuǎn)換 當(dāng)前記錄中讀者證號(hào)保存根據(jù)輸入數(shù)據(jù)更新數(shù)據(jù)庫(kù)記錄輸入數(shù)據(jù)不合法給出警告數(shù)據(jù)庫(kù)連接異常6.3.4 獲取相關(guān)記錄模塊功能獲取相關(guān)的借書(shū)記錄輸入項(xiàng)目讀者證號(hào)(傳入?yún)?shù))輸出項(xiàng)目操作成功/失敗標(biāo)志(返回值);相關(guān)記錄信息(公共變量)程序邏輯生成數(shù)據(jù)庫(kù)查詢(xún)命令I(lǐng)F操

溫馨提示

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

評(píng)論

0/150

提交評(píng)論