文檔資料管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文.doc
《文檔資料管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《文檔資料管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文.doc(31頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、畢業(yè)設(shè)計(jì)(論文)文檔資料管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)論文作者姓名:申請(qǐng)學(xué)位專(zhuān)業(yè):申請(qǐng)學(xué)位類(lèi)別:指導(dǎo)教師姓名(職稱(chēng)):論文提交日期:文檔資料管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要本系統(tǒng)使用MFC提供的文檔視圖結(jié)構(gòu)為主體框架,用XML文擋進(jìn)行數(shù)據(jù)的儲(chǔ)存,實(shí)現(xiàn)對(duì)各種資料的管理。第一部分是實(shí)現(xiàn)對(duì)用戶界面操作的響應(yīng),這部分主要是使用MFC提供的不同的窗口類(lèi),即框架窗口,視圖窗口,對(duì)話窗口以及控件來(lái)實(shí)現(xiàn)用戶操作界面的主體框架的實(shí)現(xiàn)。第二部分為處理具體事務(wù)的模塊,實(shí)現(xiàn)用戶對(duì)資料的管理和使用。第三部分是用XML編寫(xiě)儲(chǔ)存結(jié)構(gòu),這部分主要是設(shè)計(jì)XML樹(shù)和對(duì)其存儲(chǔ)和讀取的具體實(shí)現(xiàn)。利用本系統(tǒng)可以管理自己的各種資料(文本的和電子的),
2、對(duì)每一份資料均有命名,對(duì)所有的資料進(jìn)行歸類(lèi),指明各資料的存放位置,可以給每一份資料指明關(guān)鍵字,便于用戶查找資料。若是電子資料(如電腦上的文件),可以通過(guò)鼠標(biāo)點(diǎn)擊直接打開(kāi)文件。整個(gè)系統(tǒng)實(shí)現(xiàn)了最初設(shè)計(jì)的各種功能,并能夠快速方便的幫助用戶查找到需要的資料信息,整個(gè)操作界面簡(jiǎn)潔和實(shí)用。關(guān)鍵詞: MFC;XML;框架;窗口The Design and Implementation of the Documents Management SystemAbstractThe Documents Management System can manage various materials. It is imp
3、lemented by the Document-View framework provided by the MFC. In order to hold the materials data, a XML document is used. The system is composed by the user interface、the logic processing and the XML operation. The first part responds to the operation of the user. This part is implemented by the var
4、ious kinds of windows in the MFC, such as a frame window, a view window, the dialog windows, and many control windows. The second part is design to process material management operation such as adding a material, deleting materials, browsing and searching materials. The last part is the serializatio
5、n module. It uses a XML tree structure to organize the data in the memory and holds the data by a XML text document in the disk.Users can manage their own materials conveniently by this system. In the system, every material has many attributes such as a name what we can call it, a path indicates whe
6、re it is, an author who writes it, a catalogs field specifies how many catalogs it belongs to, and some keywords for searching it. If the material is a document in the computer, users can view it directly by double clicking the document. The system is enabled all the functions at design and quickly
7、and conveniently search the users need. The document is concise and pragmatic.Key words: MFC;XML;Frame;Window目 錄 論文總頁(yè)數(shù):20頁(yè)1引 言12 設(shè)計(jì)理論依據(jù)12.1 MFC簡(jiǎn)介12.2 XML介紹23文檔資料管理系統(tǒng)簡(jiǎn)介43.1 系統(tǒng)開(kāi)發(fā)背景43.2系統(tǒng)開(kāi)發(fā)環(huán)境53.2.1 系統(tǒng)軟件環(huán)境53.2.2工具簡(jiǎn)介53.3系統(tǒng)概述54文檔資料管理系統(tǒng)的設(shè)計(jì)64.1系統(tǒng)需求分析及功能設(shè)計(jì)64.2 XML存儲(chǔ)結(jié)構(gòu)的設(shè)計(jì)74.3用戶界面和事物處理124.3.1用戶界面124.3.2事務(wù)處理135
8、軟件測(cè)試15結(jié) 論18參考文獻(xiàn)18致 謝19聲 明201引 言當(dāng)今世界是飛速發(fā)展的信息時(shí)代,在各行各業(yè)中離不開(kāi)信息處理,這正是計(jì)算機(jī)被廣泛用于管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。但是在眾多的資料中,如何規(guī)范,準(zhǔn)確,快速,全面的管理自己的資料,如書(shū)籍,電子資料等,并且方便自己查閱。使用計(jì)算機(jī)進(jìn)行信息管理控制,不僅提高了工作效率,而且大大提高了其安全性。本系統(tǒng)就是為了管理好自己的各種有用資料信息而設(shè)計(jì)的。面對(duì)各種繁多的資料,很多人是沒(méi)有進(jìn)行合理的分類(lèi)整理和建立一個(gè)資料管理系統(tǒng)來(lái)管理它們,有時(shí)候在手頭研究需要一些資料的時(shí)候往往是靠記憶來(lái)尋找,但是這樣做會(huì)浪費(fèi)很多時(shí)間和精力。由
9、于數(shù)據(jù)繁多容易丟失,且不易查找。總的來(lái)說(shuō)缺乏系統(tǒng),規(guī)范的信息處理手段。盡管我們有計(jì)算機(jī),但是尚未用于信息管理,沒(méi)有發(fā)揮它的效益,資料閑置比較突出,就是管理信息開(kāi)發(fā)的基本環(huán)境?;诖祟?lèi)問(wèn)題,我認(rèn)為有必要建立一個(gè)資料管理系統(tǒng),使資料管理工作規(guī)范化,程序化,避免資料管理隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢(xún)和修改資料情況。本次畢業(yè)設(shè)計(jì)是在老師指導(dǎo)下自己獨(dú)立完整的進(jìn)行軟件的設(shè)計(jì),程序編寫(xiě),調(diào)試等工作。通過(guò)自己對(duì)整個(gè)流程的設(shè)計(jì)和實(shí)現(xiàn),能夠完成最初提出的要求,也對(duì)一些功能進(jìn)行了擴(kuò)展和加深。利用文檔資料管理系統(tǒng)能夠比較完善的管理自己的資料,也能比較快速的找到自己以前看過(guò)或是記錄下的資
10、料,使用起來(lái)也很方便,快速。2 設(shè)計(jì)理論依據(jù)2.1 MFC簡(jiǎn)介MFC微軟基礎(chǔ)類(lèi)(Microsoft Foundation Classes),實(shí)際上是微軟提供的,用于在C+環(huán)境下編寫(xiě)應(yīng)用程序的一個(gè)框架和引擎。MFC就是掛在它之上的一個(gè)輸助軟件開(kāi)發(fā)包,MFC作為與VC+血肉相連的部分(注意C+和VC+的區(qū)別:C+是一種程序設(shè)計(jì)語(yǔ)言,是一種大家都承認(rèn)的軟件編制的通用規(guī)范,而VC+只是一個(gè)編譯器,或者說(shuō)是一種編譯器+源程序編輯器的IDE,WS,PlatForm),MFC同BC+集成的VCL一樣是一個(gè)非外掛式的軟件包,類(lèi)庫(kù),只不過(guò)MFC類(lèi)是微軟為VC+專(zhuān)配的. MFC是Win API與C+的結(jié)合,API
11、,即微軟提供的Winos下應(yīng)用程序的編程語(yǔ)言接口,是一種軟件編程的規(guī)范,但不是一種程序開(kāi)發(fā)語(yǔ)言本身。MFC不只是一個(gè)功能單純的界面開(kāi)發(fā)系統(tǒng),它提供的類(lèi)絕大部分用來(lái)進(jìn)行界面開(kāi)發(fā),關(guān)聯(lián)一個(gè)窗口的動(dòng)作,但它提供的類(lèi)中有好多類(lèi)不與一個(gè)窗口關(guān)聯(lián),即類(lèi)的作用不是一個(gè)界面類(lèi),不實(shí)現(xiàn)對(duì)一個(gè)窗口對(duì)象的控制(如創(chuàng)建,銷(xiāo)毀)MFC中的各種類(lèi)結(jié)合起來(lái)構(gòu)成了一個(gè)應(yīng)用程序框架,它的目的就是讓程序員在此基礎(chǔ)上來(lái)建立Windows下的應(yīng)用程序。MFC框架定義了應(yīng)用程序的輪廓,并提供了用戶接口的標(biāo)準(zhǔn)實(shí)現(xiàn)方法,程序員所要做的就是通過(guò)預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個(gè)輪廓。Microsoft Visual C+提供了相應(yīng)
12、的工具來(lái)完成這個(gè)工作:AppWizard可以用來(lái)生成初步的框架文件(代碼和資源等);資源編輯器用于幫助直觀地設(shè)計(jì)用戶接口;Class Wizard用來(lái)協(xié)助添加代碼到框架文件;最后,編譯,則通過(guò)類(lèi)庫(kù)實(shí)現(xiàn)了應(yīng)用程序特定的邏輯。2.2 XML介紹XML是Extensible Markup Language的縮寫(xiě),即可擴(kuò)展標(biāo)記語(yǔ)言是一種您可以用來(lái)創(chuàng)建自己標(biāo)記的標(biāo)記語(yǔ)言。它由萬(wàn)維網(wǎng)協(xié)會(huì)(W3C)創(chuàng)建,用來(lái)克服 HTML(即超文本標(biāo)記語(yǔ)言(Hypertext Markup Language),它是所有網(wǎng)頁(yè)的基礎(chǔ))的局限。和 HTML 一樣;XML 基于 SGML 標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言(Standard Gen
13、eralized Markup Language)XML實(shí)際上是Web上表示結(jié)構(gòu)化信息的一種標(biāo)準(zhǔn)文本格式,它沒(méi)有復(fù)雜的語(yǔ)法和包羅萬(wàn)象的數(shù)據(jù)定義。XML同HTML一樣,都來(lái)自SGML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言)。SGML是一種在Web發(fā)明之前就早已存在的用標(biāo)記來(lái)描述文檔資料的通用語(yǔ)言。但SGML十分龐大且難于學(xué)習(xí)和使用。鑒于此,人們提出了HTML語(yǔ)言。但近年來(lái),隨著Web應(yīng)用的不斷深入,HTML在需求廣泛的應(yīng)用中已顯得捉襟見(jiàn)肘,有人建議直接使用SGML作為Web語(yǔ)言。但SGML太龐大了,學(xué)用兩難尚且不說(shuō),就是全面實(shí)現(xiàn)SGML的瀏覽器也非常困難。于是Web標(biāo)準(zhǔn)化組織W3C建議使用一種精簡(jiǎn)的SGML版本XM
14、L。XML與SGML一樣,是一個(gè)用來(lái)定義其他語(yǔ)言的元語(yǔ)言。與SGML相比,XML規(guī)范不到SGML規(guī)范的1/10,簡(jiǎn)單易懂,是一門(mén)既無(wú)標(biāo)簽集也無(wú)語(yǔ)法的新一代標(biāo)記語(yǔ)言。 可以說(shuō),XML的出現(xiàn)給數(shù)據(jù)交換帶來(lái)了一場(chǎng)革命;XML的出現(xiàn)是至今為止最聰明的一種符號(hào)化語(yǔ)言;XML成為下一代網(wǎng)絡(luò)發(fā)展的基石。 XML作為引人注目的核心技術(shù)應(yīng)用于BtoB、Web服務(wù)、.NET等許多系統(tǒng)中。XML可以作為電子數(shù)據(jù)交換的統(tǒng)一格式,用XML可以對(duì)數(shù)據(jù)關(guān)系進(jìn)行定義形成特有的標(biāo)準(zhǔn),因此各行各業(yè)都在建立自己的行業(yè)化標(biāo)準(zhǔn),以應(yīng)用于網(wǎng)絡(luò)上處理電子商務(wù),把后臺(tái)系統(tǒng)通過(guò)Web站點(diǎn)表現(xiàn)出來(lái)。XML還可以作為數(shù)據(jù)倉(cāng)儲(chǔ),一個(gè)XML文件就是一
15、個(gè)小的數(shù)據(jù)庫(kù),通過(guò)對(duì)數(shù)據(jù)關(guān)系的定義形成各種關(guān)系、屬性的數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)交換、上下文檢索、多媒體傳輸。XML具有其他方法所不具備的數(shù)據(jù)描述特點(diǎn)XML是以文本形式來(lái)描述的一種文件格式 由于XML是以文本形式描述的,所以適合于各種平臺(tái)環(huán)境的數(shù)據(jù)交換。同樣由于使用文本來(lái)描述內(nèi)容,可以越過(guò)不同平臺(tái)的障礙進(jìn)行正常的數(shù)據(jù)交換。但是,文本形式也會(huì)因?yàn)槲淖执a的不同造成不能閱讀的問(wèn)題,在這一點(diǎn)上XML有著非常完美的解決方案。 XML使用有意義的標(biāo)記(Tag) 在XML中文件是由一個(gè)個(gè)稱(chēng)之為元素(Element)的部件構(gòu)成。使用標(biāo)記(Tag)來(lái)描述元素。由于使用了標(biāo)記的描述方法,可以保持原數(shù)據(jù)的意思和構(gòu)造在互聯(lián)網(wǎng)上
16、進(jìn)行數(shù)據(jù)交換,進(jìn)而可以保持不同系統(tǒng)之間數(shù)據(jù)交換的靈活性。 可以說(shuō),XML是“定義語(yǔ)言的語(yǔ)言”,也即是一種元語(yǔ)言。由于XML具有元語(yǔ)言的功能,所以可以成為描述電子商務(wù)數(shù)據(jù)、多媒體演示數(shù)據(jù)、數(shù)學(xué)公式等各種各樣數(shù)據(jù)應(yīng)用語(yǔ)言的基礎(chǔ)語(yǔ)言。下面提供幾個(gè)以XML為基礎(chǔ)生成的數(shù)據(jù)描述語(yǔ)言(本文亦稱(chēng)為XML應(yīng)用語(yǔ)言)的應(yīng)用例子,即出版媒體:Open eBook(電子書(shū)籍)、NewsML(新聞媒體);科學(xué):MathML(數(shù)學(xué)表達(dá)式)、CML(化學(xué));電子商務(wù):cXML(電子商務(wù))、FpML(金融);多媒體:SMIL(多媒體演示)、BML(衛(wèi)星數(shù)據(jù)傳送)。 XML是描述內(nèi)容的數(shù)據(jù)格式,在使用XML數(shù)據(jù)時(shí),還需要XM
17、L數(shù)據(jù)的顯示、打印、數(shù)據(jù)結(jié)構(gòu)的變更等許多相關(guān)技術(shù)。如果這些相關(guān)技術(shù)也都標(biāo)準(zhǔn)化的話,即使在不同平臺(tái)開(kāi)發(fā)應(yīng)用程序也都可以用相同的方法,使開(kāi)發(fā)難度降低。 處理XML數(shù)據(jù)時(shí),一定要使用XML Processor(也就是XML Parser),把XML數(shù)據(jù)結(jié)構(gòu)的檢查等交給XML Parser去做。應(yīng)用程序?qū)邮盏絏MLProcessor傳遞來(lái)的XML樹(shù)進(jìn)行處理,向用戶提供服務(wù)。此時(shí),不管是電子商務(wù),還是知識(shí)管理,都是定義XML數(shù)據(jù)結(jié)構(gòu)的技術(shù)、顯示打印XML數(shù)據(jù)的技術(shù)、XML數(shù)據(jù)結(jié)構(gòu)變更技術(shù)、XML數(shù)據(jù)聯(lián)接整合技術(shù)、用程序操作XML樹(shù)的API和其它應(yīng)用技術(shù)的組合。在XML中用戶可以自由的定義標(biāo)記名以及與標(biāo)
18、記相關(guān)的元素及元素層次,這是XML的主要特征。但是,如果定義的都是只有自己才能理解的標(biāo)記,就無(wú)法與其他人進(jìn)行交換數(shù)據(jù)。為了在企業(yè)團(tuán)體之間進(jìn)行XML格式的數(shù)據(jù)的交換,XML數(shù)據(jù)的結(jié)構(gòu)、元素的名稱(chēng)、元素的數(shù)據(jù)類(lèi)型以及元素的親子關(guān)系都需要仔細(xì)考慮,一定要設(shè)計(jì)成人和系統(tǒng)能夠理解的語(yǔ)言。這樣設(shè)計(jì)的XML數(shù)據(jù)結(jié)構(gòu)在XML領(lǐng)域稱(chēng)為Schema,描述Schema的語(yǔ)言稱(chēng)為Schema語(yǔ)言。DTD是最普通XML的Schema語(yǔ)言是DTD(Document Type Definition:文檔類(lèi)型定義)。DTD是遠(yuǎn)在SGML時(shí)期就一直使用的Schema語(yǔ)言,1998年制訂XML語(yǔ)法時(shí),沿用了描述Schema的DT
19、D。XML Schema中有下述DTD中不具備的特征:多個(gè)Schema復(fù)合使用XML名字空間;用XML語(yǔ)法描述;可以詳細(xì)定義元素的內(nèi)容及屬性值的數(shù)據(jù)類(lèi)型。由于在XML Schema中的數(shù)據(jù)結(jié)構(gòu)也都是用XML數(shù)據(jù)來(lái)表現(xiàn)的,與DTD相比數(shù)據(jù)量增大很多。但是,XML Schema的表現(xiàn)力要遠(yuǎn)比DTD強(qiáng)得多,不僅支持字符串、10進(jìn)制數(shù)、浮動(dòng)小數(shù)點(diǎn)、日期等,還支持m回以上和n回以下出現(xiàn)的元素(m、n為整數(shù))的指定。例如“郵編xxxxxx”(x是字符)是郵政編碼元素的格式指定等都是DTD所不能表現(xiàn)的內(nèi)容。XML Schema于2001年5月成為W3C的推薦規(guī)范,對(duì)XML的利用產(chǎn)生了重要的影響。 XML作為
20、數(shù)據(jù)描述語(yǔ)言是非常優(yōu)秀的,但是并不是所有的電子數(shù)據(jù)都是轉(zhuǎn)換到XML是最有效的。例如XML的文本表現(xiàn)手法、標(biāo)記的符號(hào)化等會(huì)導(dǎo)致XML數(shù)據(jù)比二進(jìn)制表現(xiàn)方法數(shù)據(jù)量增加,尤其當(dāng)數(shù)據(jù)量很大時(shí),會(huì)成為很大的問(wèn)題。也就是說(shuō),XML的導(dǎo)入要根據(jù)具體需求,比較其優(yōu)缺點(diǎn),在充分發(fā)揮XML優(yōu)點(diǎn)的領(lǐng)域進(jìn)行。盡管XML具備了作為通用數(shù)據(jù)描述語(yǔ)言的優(yōu)秀特征,但是XML不是編程語(yǔ)言,說(shuō)到底它是一種數(shù)據(jù)描述的技術(shù)。因此XML文件的顯示、文件結(jié)構(gòu)的變更、應(yīng)用程序的操作等XML相關(guān)技術(shù)也是非常重要的。隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展深入XML技術(shù)的應(yīng)用也將不斷擴(kuò)大。該技術(shù)不僅在傳統(tǒng)的銀行之間數(shù)據(jù)交換、證券公司對(duì)上市公司情況的數(shù)據(jù)統(tǒng)
21、計(jì)、圖書(shū)館對(duì)圖書(shū)的查詢(xún)檢索、企事業(yè)文件檔案管理等領(lǐng)域的應(yīng)用更加迫切,在電子商務(wù)、搜索引擎軟件、自動(dòng)智能翻譯、文檔發(fā)聲軟件等領(lǐng)域也將得到更大的發(fā)展,特別是近期發(fā)展起來(lái)的移動(dòng)通訊網(wǎng)絡(luò)服務(wù)的發(fā)展,將使各種各樣的信息經(jīng)過(guò)格式轉(zhuǎn)換到達(dá)PDA、甚至到達(dá)手持電話機(jī),將來(lái)我們可以通過(guò)網(wǎng)絡(luò)數(shù)據(jù)格式轉(zhuǎn)換服務(wù)使小小的手機(jī)可以閱讀到大千世界的豐富信息。3文檔資料管理系統(tǒng)簡(jiǎn)介3.1 系統(tǒng)開(kāi)發(fā)背景本文檔資料管理系統(tǒng)是為個(gè)人管理自己的各種資料的一個(gè)基于Windows XP系統(tǒng)的一個(gè)應(yīng)用軟件.現(xiàn)在也有很多的資料管理系統(tǒng),其中都是一個(gè)運(yùn)用界面和邏輯接口嵌入一個(gè)數(shù)據(jù)庫(kù),這樣在編寫(xiě)軟件的時(shí)候也很方便和快速。但是對(duì)于編程人員來(lái)說(shuō),利
22、用別的工具來(lái)實(shí)現(xiàn)自己的東西總是不好的事,尤其對(duì)于我們這種經(jīng)驗(yàn)不足的人來(lái)說(shuō),尤其是不好的事情。因此我就想自己編寫(xiě)一個(gè)儲(chǔ)存結(jié)構(gòu)來(lái)代替數(shù)據(jù)庫(kù)。因?yàn)樵谝郧皩W(xué)習(xí)過(guò)XML知道用它可以實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)功能,于是決定利用它編寫(xiě)文件存儲(chǔ)結(jié)構(gòu)來(lái)實(shí)現(xiàn)本系統(tǒng)的數(shù)據(jù)存儲(chǔ)。現(xiàn)在人們有了電腦,對(duì)于存儲(chǔ)自己需要的資料有了一個(gè)好的地方,但是如何能夠有效的把日益增多的這些各種資料管理起來(lái),能夠方便需要的時(shí)候取出來(lái),這是一個(gè)難題;對(duì)于一些以前看過(guò)的書(shū),如何在以后突然需要的時(shí)候,快速的找到它的擺放位子?這些都是開(kāi)發(fā)本資料管理系統(tǒng)的一個(gè)原因。為了管理個(gè)人的資料例如:電子資料,紙版資料等不同的資料并對(duì)所有的資料進(jìn)行歸類(lèi),如劃分為VC+資料
23、,windows類(lèi)資料,健康類(lèi)資料等。當(dāng)這些資料經(jīng)過(guò)科學(xué)的分類(lèi),并把各種不同屬性的資料各類(lèi)管理起來(lái),這樣就實(shí)現(xiàn)了對(duì)資料的有效管理,也方便了用戶在需要的時(shí)候很快能夠找到想要的資料,節(jié)約了很多人力物力和精力。3.2系統(tǒng)開(kāi)發(fā)環(huán)境3.2.1 系統(tǒng)軟件環(huán)境本系統(tǒng)采用的軟件工具有: 操作系統(tǒng): Windows XP 開(kāi)發(fā)環(huán)境:VC+6.03.2.2工具簡(jiǎn)介 VC+6.0在提供可視化的編程方法的同時(shí),也適用于編寫(xiě)直接對(duì)系統(tǒng)進(jìn)行底層操作的程序,其生成代碼的質(zhì)量要優(yōu)于很多其他的開(kāi)發(fā)工具。VC+6.0所提供的基本類(lèi)庫(kù)MFC,對(duì)Windows所用的Win32應(yīng)用程序接口進(jìn)行了十分徹底的封裝,這使得開(kāi)發(fā)人員可以使用完
24、全面向?qū)ο蟮姆椒▉?lái)進(jìn)行Windows編程,從而大大節(jié)省了應(yīng)用程序的開(kāi)發(fā)周期,降低了開(kāi)發(fā)成本。而且,其強(qiáng)大的調(diào)試功能也為大型復(fù)雜軟件的開(kāi)發(fā)提供了有效的排錯(cuò)手段。隨著多媒體技術(shù)和圖形圖像技術(shù)的不斷發(fā)展,可視化技術(shù)得到了廣泛的重視,愈來(lái)愈多的人開(kāi)始研究并應(yīng)用可視化技術(shù)。所謂可視化技術(shù),一般是指軟件開(kāi)發(fā)階段的可視化和對(duì)計(jì)算機(jī)圖形技術(shù)和方法的應(yīng)用。VC+是一個(gè)很好的可視化編程工具,使用VC+環(huán)境來(lái)開(kāi)發(fā)基于Windows的應(yīng)用程序,其界面更友好,便于程序員操作。開(kāi)發(fā)環(huán)境是程序員同VC+的交互界面,通過(guò)它程序員可以訪問(wèn)C+源代碼編輯器、資源編輯器,使用內(nèi)部調(diào)試器,還可以創(chuàng)建項(xiàng)目文件3.3系統(tǒng)概述軟件主要提供
25、的功能包括:資源管理方面添加資源,刪除資源;資源瀏覽按照目錄,按照搜索。因此把軟件大體分成三個(gè)部分進(jìn)行實(shí)現(xiàn):第一部分: 用戶界面。包括整個(gè)程序的框架,以及用戶操作的接口設(shè)計(jì)等即就是實(shí)現(xiàn)用戶界面的部分.第二部分:用于處理事務(wù)的模塊.包括用戶添加,刪除,修改資源,用戶通過(guò)目錄瀏覽,通過(guò)搜索找尋,通過(guò)自己的收藏夾進(jìn)行資源管理等業(yè)務(wù)邏輯的實(shí)現(xiàn)。第三部分: 用于進(jìn)行數(shù)據(jù)物理存儲(chǔ)的模塊。使用XML文檔進(jìn)行數(shù)據(jù)的存儲(chǔ),所以在實(shí)現(xiàn)的過(guò)程中,XML的操作成為了這個(gè)模塊的主要工作。文檔資料管理系統(tǒng)是為個(gè)人管理自己的各種資料的軟件,首先將資料分為電子資料和非電子資料;電子資料主要包括自己電腦上面儲(chǔ)存的例如:電子文檔
26、,電子書(shū)籍,影像資料等各種電子資料。非電子資料包括書(shū)籍,影碟,光碟等實(shí)物資料;對(duì)每一份資料均有命名,可以使用書(shū)名來(lái)指代這本書(shū),也對(duì)每一份資料加了關(guān)鍵字和注釋?zhuān)阌诤竺嫘枰獣r(shí)候準(zhǔn)確的找到需要的資料。對(duì)所有的資料進(jìn)行歸類(lèi),如劃分為VC+資料,windows類(lèi)資料,影像類(lèi)資料等;指明資料的存放位置,若是電子資料(如電腦上的文件),可以通過(guò)鼠標(biāo)點(diǎn)擊直接打開(kāi)文件,對(duì)于非電子資料和非本機(jī)子上的資料,在注釋內(nèi)注明其放置的位子,便于快速找到自己需要的資料;系統(tǒng)也有增加,刪除,修改等工具條:增加是在有新資料需要用本系統(tǒng)管理的時(shí)候,可以通過(guò)它來(lái)增加。刪除是對(duì)無(wú)用的資料進(jìn)行刪除。修改是需要對(duì)已有的資料增加一些說(shuō)明的
27、。另外也有目錄,搜索和收藏夾等功能。系統(tǒng)也在最下面的窗口有一個(gè)對(duì)選中的資料有一個(gè)類(lèi)似統(tǒng)計(jì)的顯示,便于使用者,更加方便的使用本系統(tǒng)。4文檔資料管理系統(tǒng)的設(shè)計(jì)4.1系統(tǒng)需求分析及功能設(shè)計(jì)隨著信息時(shí)代的來(lái)臨,電腦用戶的資料日益增多,而這些資料可能有著不同的特點(diǎn)。比如,它可能是一本書(shū),也可能是一張光碟,也可能是個(gè)電子文檔。如果稍有疏忽,資料的存放位置失去了某些特征,例如,某些電子文檔你可能放到了一個(gè)目錄下,而另外一個(gè)文檔你卻放到了其它的目錄下。當(dāng)你需要的時(shí)候,將難于準(zhǔn)確迅速的找到,更談不上有效的查詢(xún)和管理了??傊?,資料屬性的多元化和數(shù)量的增多給管理這些資料帶來(lái)了很多不便。文檔資料管理系統(tǒng)的設(shè)計(jì)目標(biāo)正是
28、為了解決這些問(wèn)題。它將滿足用戶對(duì)資源的管理:增加,刪除,修改,搜索及查看資源。具體說(shuō)來(lái),該系統(tǒng)將具備下面的功能:(1)增加資源用戶能夠添加一個(gè)資源,該資源可以是電子資源(比如PC上某個(gè)目錄下的一張圖片)或者是非電子資源(例如書(shū)桌上的本書(shū))。添加該資源后,用戶將可以通過(guò)該系統(tǒng)直接管理和使用該資源。(2)刪除資源用戶能夠?qū)⑾到y(tǒng)中的某個(gè)資源刪除掉,從而放棄系統(tǒng)對(duì)該資源的管理。(3)修改資源當(dāng)某個(gè)資源的屬性發(fā)生變化的時(shí)候(例如存放位置發(fā)生變化),用戶能夠選中某個(gè)資源,對(duì)其屬性進(jìn)行修改,以反映這種變化。(4)搜索資源用戶能夠通過(guò)提供資源的某個(gè)特征屬性進(jìn)行查找,獲得相關(guān)的資源。(5)查看資源如果所選擇資源
29、為電子文檔,用戶將能在系統(tǒng)中直接查看該資源。圖1 整體框架設(shè)計(jì)圖資源應(yīng)該具有以下屬性:資源的作者,資源名稱(chēng),資源的位置(若是電子資源,則是資源在電腦上的文件位置),資源添加日期,資源所屬目錄情況(一個(gè)資源可以屬于多個(gè)目錄),關(guān)鍵字(用于搜索), 資源的注釋等。 下面就系統(tǒng)中對(duì)以上屬性的定義:struct RESITEMint id; / 資源在文檔中的唯一標(biāo)志string name; /資源名稱(chēng)string author; /資源的作者string path; /資源的位置(若是電子資源,則是資源在電腦上的文件位置) bool bEbook;/是否是電子資源string date; /資源添加
30、日期string keywords; /關(guān)鍵字,用于搜索int catalogs; /資源所屬目錄情況(一個(gè)資源可以屬于多個(gè)目錄)double bytes; /資源大?。ㄖ粚?duì)電子資源有效) string note; /資源的注釋;4.2 XML存儲(chǔ)結(jié)構(gòu)的設(shè)計(jì) 本系統(tǒng)的用XML編寫(xiě)存儲(chǔ)結(jié)構(gòu),參照一般的XML編寫(xiě)方法包含以下幾個(gè)類(lèi):XmlContainer(XmlTree),XmlFile,XmlLeaf,XmlNode,XmlParser。表1 XmlFile設(shè)計(jì)表類(lèi)名:XmlFile設(shè)計(jì)用途:用于將一個(gè)磁盤(pán)上的XML文檔以字符串的方式讀入到內(nèi)存中,或者將以字符串方式存于內(nèi)存中的XML文檔輸出到
31、磁盤(pán)。方法/屬性作用string _doc保存XML字符串的內(nèi)部成員變量。bool load(const char* file)將參數(shù)file指定的文件載入類(lèi)的成員變量doc中。bool save(const char* file)將成員變量doc的值保存到file指定的文件中。const string& getdoc()返回doc的值。bool setdoc(const string& _doc)以_doc設(shè)置doc的值。表2 Xmlparser設(shè)計(jì)表類(lèi)名:XmlParser設(shè)計(jì)用途:用于實(shí)現(xiàn)XmlTree和字符串化的XML文檔的相互轉(zhuǎn)換。方法/屬性作用static XmlTree* doc
32、2tree(const string& doc)將doc轉(zhuǎn)換成一個(gè)XmlTree。static string tree2doc(XmlTree* pXmlTree)將一個(gè)XmlTree轉(zhuǎn)換為字符串。static int gettoken(string strDoc, string& token)從strDoc中獲取第一個(gè)標(biāo)記(或者值)說(shuō)明:正是通過(guò)這兩個(gè)類(lèi)的協(xié)作,實(shí)現(xiàn)了XML文檔的讀寫(xiě)和轉(zhuǎn)換。例如:XmlFile file;if(!file.load(Settingsitems.xml)AfxMessageBox(打開(kāi)數(shù)據(jù)文件items.xml失敗);return;XmlTree* pTree
33、 = XmlParser:doc2tree(file.getdoc();if(!pTree)AfxMessageBox(轉(zhuǎn)換數(shù)據(jù)文件items.xml失敗);return;上面的代碼段首先使用XmlFile的實(shí)例load了一個(gè)XML文檔,然后使用XmlParser:doc2tree創(chuàng)建了一個(gè)XmlTree,從而為內(nèi)存中使用XML提供了基礎(chǔ)。下面說(shuō)明一下對(duì)XML的處理方案。使用樹(shù)型結(jié)構(gòu)表達(dá)XML文檔,可以比較方便的進(jìn)行相應(yīng)的讀寫(xiě)刪改操作。因?yàn)閄ML本身就是一個(gè)數(shù)型的結(jié)構(gòu)。例如:tttttt13dxx7xx以上是一段程序中用到的XML文檔結(jié)構(gòu)。注意到整個(gè)文檔以開(kāi)始,以結(jié)尾,表示之間的都是存儲(chǔ)的數(shù)據(jù)
34、(實(shí)際上就是資源的屬性數(shù)據(jù))。中間共有兩個(gè)item,而每個(gè)item又各有幾個(gè)屬性(如,等)。所以可以用一顆樹(shù)來(lái)表示:圖2 Xml樹(shù)型結(jié)構(gòu)圖注意到上面的樹(shù)中有些節(jié)點(diǎn)只有Name沒(méi)有Value,而有些卻都有。雖然它們都是節(jié)點(diǎn),但類(lèi)型上還是有區(qū)別的。故,采用三個(gè)類(lèi)表達(dá)這種信息:XmlNode,XmlLeaf,XmlContainer。首先定義一個(gè)接口類(lèi)XmlNode,該類(lèi)表達(dá)抽象的XML節(jié)點(diǎn)。然后使用XmlLeaf類(lèi)和XmlContainer類(lèi)來(lái)實(shí)現(xiàn)XmlNode,XmlLeaf表示葉節(jié)點(diǎn)(有Name和Value雙重屬性的節(jié)點(diǎn),但自己沒(méi)有子節(jié)點(diǎn)),XmlContainer表示容器節(jié)點(diǎn)(只有Name屬
35、性的節(jié)點(diǎn),而且自己可以有子節(jié)點(diǎn))。下面是它們的定義:class XmlNodepublic:XmlNode()name = node;parent = NULL;virtual XmlNode();virtual bool isleaf()=0; /是否葉節(jié)點(diǎn)virtual bool iscontainer()=0;/是否容器節(jié)點(diǎn)virtual XmlNode* getparent()return parent; /返回父節(jié)點(diǎn)virtual bool setparent(XmlNode* _parent) parent=_parent; return true; /設(shè)置父節(jié)點(diǎn)virtual c
36、onst string& getname()return name; /返回節(jié)點(diǎn)名稱(chēng)virtual bool setname(const string& _name)name=_name; return true; /設(shè)置節(jié)點(diǎn)名稱(chēng)protected:XmlNode* parent;string name; class XmlContainer : public XmlNodepublic:XmlContainer()pos = -1; name=container;XmlContainer(const string& _name)name=_name; pos = -1;XmlContaine
37、r()release();bool isleaf() return false;bool iscontainer()return true;bool addchild(XmlNode* _node); /新增一個(gè)子節(jié)點(diǎn)bool remove(XmlNode* pNode); /刪除一個(gè)子節(jié)點(diǎn)XmlNode* firstchild(); /返回第一個(gè)子節(jié)點(diǎn)XmlNode* nextchild(); /返回下一個(gè)字節(jié)點(diǎn)XmlNode* getchild(int nIndex); /返回第nIndex個(gè)子節(jié)點(diǎn)XmlNode* search(const string& name); /找到第一個(gè)以na
38、me為名的子孫節(jié)點(diǎn)XmlNode* search(const string& name, const string& value); /找到第一個(gè)以name為名,以value為值的葉節(jié)點(diǎn)void trav(ostream& out); /遍歷并輸出到out中void print(int lev);protected:void release();int pos;vector children;typedef XmlContainer XmlTree;class XmlLeaf : public XmlNodepublic:XmlLeaf()name=leaf;XmlLeaf(const str
39、ing& _name) name=_name;XmlLeaf(const string& _name, const string& _value) name=_name; value=_value;XmlLeaf();bool isleaf() return true; /是葉節(jié)點(diǎn),返回truebool iscontainer()return false; /不是容器節(jié)點(diǎn),返回falseconst string& getvalue()return value; /獲取值bool setvalue(const string& _value)value=_value; return true;/設(shè)
40、置值protected:string value;下圖為數(shù)據(jù)流的轉(zhuǎn)化圖:圖3 Xml 數(shù)據(jù)流轉(zhuǎn)換圖在讀取文件數(shù)據(jù)的時(shí)候使用XmlFile從磁盤(pán)讀取文件數(shù)據(jù),并轉(zhuǎn)化為一個(gè)String 對(duì)象,然后使用XmlParser轉(zhuǎn)化為一個(gè)XmlTree對(duì)象,這樣就可以很方便的操作數(shù)據(jù)。當(dāng)存儲(chǔ)數(shù)據(jù)的時(shí)候,使用XmlParser把一個(gè)XmlTree對(duì)象轉(zhuǎn)化為一個(gè)String 對(duì)象,然后通過(guò)XmlFile類(lèi)將這個(gè)String 對(duì)象保存到磁盤(pán)文件中。上述過(guò)程就實(shí)現(xiàn)了系統(tǒng)數(shù)據(jù)流的轉(zhuǎn)化,也在次基礎(chǔ)上變于整個(gè)系統(tǒng)調(diào)用XML來(lái)實(shí)現(xiàn)具體的功能。4.3用戶界面和事物處理4.3.1用戶界面本系統(tǒng)的用戶界面是一個(gè),類(lèi)似VC的界面,
41、左邊、底下有兩個(gè)可浮動(dòng)、可變大小的控制窗口。具體實(shí)現(xiàn)的為:首先創(chuàng)建窗口的定義如下:先為CMainFrame增加成員變量:class CMainFrame : public CFrameWndprotected:CMainFrame();DECLARE_DYNCREATE(CMainFrame)public:CDlgInfo m_dlgInfo; /用于顯示信息,位于程序最下方CCoolTabCtrl m_TabCtrl;CCoolBarm_wndMyBar1; /我們將它作為左邊的窗口CCoolBarm_wndMyBar2;/我們將它作為右邊的窗口創(chuàng)建ControlBar即控制條和“刪除”,“
42、修改”,“修改”按鈕: if (!m_wndMyBar1.Create(_T(我的控制條), this, CSize(230,260),TRUE,123);if (!m_wndMyBar2.Create(_T(我的控制條2), this,CSize(200,100),TRUE,124)m_wndToolBar.SetButtonText(0, 增加 );m_wndToolBar.SetButtonText(1, 刪除 );m_wndToolBar.SetButtonText(2, 修改 );創(chuàng)建TAB Control,并把它加入到ControlBar中。需要注意的是:同一個(gè)ControlBar
43、只能加入一個(gè)一級(jí)子窗口m_TabCtrl.Create(TCS_DOWN|WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),&m_wndMyBar1,125);m_TabCtrl.AddPage(RUNTIME_CLASS(CCatalogDlg),IDD_DLG_CATALOG, 目 錄, IDI_ICON_CATALOG);m_TabCtrl.AddPage(RUNTIME_CLASS(CSearchDlg),IDD_DLG_SEARCH, 搜 索, IDI_ICON_SEARCH);m_TabCtrl.AddPage(RUNTIME_CLASS(CFavDlg), I
44、DD_DLG_FAV, 收藏夾, IDI_ICON_FAC);??靠刂疲簃_wndMyBar1.SetBarStyle(m_wndMyBar1.GetBarStyle() |CBRS_TOOLTIPS | CBRS_FLYBY| CBRS_SIZE_DYNAMIC);m_wndMyBar2.SetBarStyle(m_wndMyBar2.GetBarStyle() |CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);m_wndMyBar1.EnableDockin
45、g(CBRS_ALIGN_ANY);m_wndMyBar2.EnableDocking(CBRS_ALIGN_ANY);EnableDocking(CBRS_ALIGN_ANY);DockControlBar(&m_wndToolBar);DockControlBar(&m_wndMyBar1, AFX_IDW_DOCKBAR_LEFT);/??孔筮匘ockControlBar(&m_wndMyBar2, AFX_IDW_DOCKBAR_BOTTOM);/??坑疫卪_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);EnableDocking(CBRS_ALIG
46、N_ANY);DockControlBar(&m_wndToolBar);此時(shí)我們已經(jīng)生成了兩個(gè)控制條窗口,但窗口中還沒(méi)有任何東西。在創(chuàng)建這些控件時(shí)將控制條窗口指針作為父窗口指針賦值給這些控件。在上面敘訴中,創(chuàng)建了“添加”“刪除”,“修改”按鈕。其他按鈕,控件在class CCoolTabCtrl : public CWnd類(lèi)中聲明和定義,在使用中調(diào)用。由于它們涉及到對(duì)具體事件的處理,在下面部分分類(lèi)說(shuō)明。其中對(duì)于風(fēng)格的使用,論文中沒(méi)有特別說(shuō)明,在使用中可以看出來(lái)。4.3.2事務(wù)處理事務(wù)處理這個(gè)模塊就是對(duì)具體的按鈕,控件的設(shè)置和響應(yīng),通過(guò)對(duì)它們函數(shù)的定義和調(diào)用實(shí)現(xiàn)具體的功能,主要實(shí)現(xiàn)的就是添加,
47、刪除,搜索,和一些具體功能的實(shí)現(xiàn)。下面就是對(duì)具體事務(wù)的介紹。添加資源:通過(guò)點(diǎn)擊工具條的增加按鈕彈出添加資源對(duì)話框,用戶對(duì)資源屬性進(jìn)行逐一設(shè)置,并在點(diǎn)擊確定后保存。該功能的流程圖如下圖所示:圖4 添加功能流程圖響應(yīng)添加功能的類(lèi)為class CAddResDlg,其中具體實(shí)現(xiàn)為:void CResManView:OnBtnAddres()響應(yīng)點(diǎn)擊添加按鈕,用戶在彈出窗口按照具體資源添加其具體屬性,填寫(xiě)完畢,點(diǎn)擊“確定”按鈕,void CAddResDlg:OnOK()是確定按鈕的響應(yīng)函數(shù),然后BOOL CAddResDlg:ValidItem()判定資源的屬性填寫(xiě)是否合法,合法就添加該資源即調(diào)用X
48、mlFile file實(shí)現(xiàn)把數(shù)據(jù)寫(xiě)入文件中,從而實(shí)現(xiàn)添加功能。在添加中也用了int CAddResDlg:GetCatalogs()來(lái)獲取資源的所屬目錄,這只是針對(duì)本機(jī)上的電子文檔。通過(guò)上述過(guò)程和具體函數(shù)實(shí)現(xiàn)了添加的功能。在列表視圖中選中某個(gè)資源的時(shí)候,在下面的窗口中會(huì)有關(guān)于該資源的具性的信息顯示出來(lái),class CDlgInfo : public CDialog。在列表視圖中雙擊某個(gè)資源的時(shí)候,若該資源是電子資源,那么它將被打開(kāi)。void CResManView:OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)刪除資源:在視圖列表中選中要?jiǎng)h除的項(xiàng)目,點(diǎn)擊工具
49、條中的刪除,就會(huì)彈出一個(gè)詢(xún)問(wèn)對(duì)話框,若點(diǎn)擊“確定”,將刪除所選擇的項(xiàng)目。并且支持同時(shí)刪除多個(gè)資源。刪除功能的流程圖如下圖所示圖5 刪除功能流程圖實(shí)現(xiàn)刪除的具體過(guò)程為:當(dāng)用戶想要?jiǎng)h除一個(gè)或是多個(gè)資源的時(shí)候,首先選定要?jiǎng)h除的項(xiàng),然后點(diǎn)擊“刪除”按鈕,響應(yīng)該按鈕的函數(shù)為void CResManView:OnUpdateBtnDelres(CcmdUI* pCmdUI).實(shí)現(xiàn)刪除的具體函數(shù)voidCResManView:OnBtnDelres(),最后調(diào)用XmlFile file實(shí)現(xiàn)在XML文件存儲(chǔ)結(jié)構(gòu)中刪除該資源,從而實(shí)現(xiàn)了刪除的功能。 搜索功能:圖6 搜索功能流程圖該功能實(shí)現(xiàn)的過(guò)程:按照搜索瀏覽資
50、源:通過(guò)使用關(guān)鍵字,用戶可以搜索出自己感興趣的資源。如果使用高級(jí)選項(xiàng),還可以指定資源的添加日期的范圍,也可以在資源作者和資源注釋等屬性中進(jìn)行查找。實(shí)現(xiàn)的函數(shù)為:void CSearchDlg:OnBtnSearch()5軟件測(cè)試整個(gè)測(cè)試過(guò)程是一個(gè),“測(cè)試修改再測(cè)試再修改”的過(guò)程,直到整個(gè)系統(tǒng)能正常運(yùn)行,所有功能都能正常實(shí)現(xiàn)。在測(cè)試過(guò)程中,出現(xiàn)過(guò)一些不符合標(biāo)準(zhǔn)的情況,經(jīng)過(guò)修改,都基本與設(shè)計(jì)書(shū)的標(biāo)準(zhǔn)符合,能夠完成正常的功能。下面就是對(duì)本系統(tǒng)的各種功能的測(cè)試:增加功能的測(cè)試:圖7 添加功能測(cè)試顯示圖用戶點(diǎn)擊增加按鈕,彈出上圖的對(duì)話框,用戶輸入資源的信息,點(diǎn)擊確定按鈕,如果添加成功在系統(tǒng)文件的sett
51、ings文件夾的items.xml文件中會(huì)有如下記錄:item13vc資料教程110E:vc資料教程vc 教程-12007-05-31 17:05:04vc資料教程 光碟這就說(shuō)明添加成功。刪除功能的測(cè)試:如下圖所示:圖8 刪除功能測(cè)試截圖實(shí)現(xiàn)刪除的具體過(guò)程為:當(dāng)用戶想要?jiǎng)h除一個(gè)或是多個(gè)資源的時(shí)候,首先選定要?jiǎng)h除的項(xiàng),然后點(diǎn)擊“刪除”按鈕,響應(yīng)該按鈕的函數(shù)為void CResManView:OnUpdateBtnDelres(CcmdUI* pCmdUI).實(shí)現(xiàn)刪除的具體函數(shù)voidCResManView:OnBtnDelres(),最后調(diào)用XmlFile file實(shí)現(xiàn)在XML文件存儲(chǔ)結(jié)構(gòu)中刪除
52、該資源,從而實(shí)現(xiàn)了刪除的功能。刪除成功的話在系統(tǒng)文件的settings文件夾的items.xml文件中就沒(méi)有該資源的記錄。搜索功能的測(cè)試:如下圖所示:圖9 搜索功能測(cè)試截圖該功能實(shí)現(xiàn)的過(guò)程:按照搜索瀏覽資源:通過(guò)使用關(guān)鍵字,用戶可以搜索出自己感興趣的資源。如果使用高級(jí)選項(xiàng),還可以指定資源的添加日期的范圍,也可以在資源作者和資源注釋等屬性中進(jìn)行查找。按照搜索條件可以實(shí)現(xiàn)快速尋找自己需要的資料,成功后會(huì)在右邊的顯示框中顯示符合搜索條件的資料資源,并在下面有一個(gè)統(tǒng)計(jì)的顯示。由于經(jīng)驗(yàn)欠缺或其它某些原因,本次完成的軟件不可能是完美無(wú)缺的。測(cè)試只能盡量避免錯(cuò)誤的產(chǎn)生和消除已經(jīng)產(chǎn)生的錯(cuò)誤,使程序中的錯(cuò)誤密度
53、達(dá)到盡可能低的程度,減少錯(cuò)誤的引入,但是不可能完全杜絕軟件中的錯(cuò)誤。經(jīng)過(guò)測(cè)試,能實(shí)現(xiàn)各功能。結(jié) 論 完成了系統(tǒng)的基本功能,基本滿足用戶需求,能夠通過(guò)本系統(tǒng)能夠比較方便的管理自己的資料,也可以快速準(zhǔn)確的找到需要的資料。自己編寫(xiě)了XML文件存儲(chǔ)結(jié)構(gòu),并利用它作為本系統(tǒng)的數(shù)據(jù)轉(zhuǎn)化工具。本系統(tǒng)操作方便,系統(tǒng)性能良好,具有快速,可擴(kuò)展性。當(dāng)然,由于我們經(jīng)驗(yàn)欠缺或者是其他方面的一些原因,這次的項(xiàng)目開(kāi)發(fā)也存在一些不足,如程序員邏輯比較混亂,一些簡(jiǎn)單的問(wèn)題要通過(guò)一堆無(wú)用代碼才能實(shí)現(xiàn),不能以簡(jiǎn)潔有效的方式解決。由于是一個(gè)人獨(dú)立的完成一個(gè)項(xiàng)目。從設(shè)計(jì)到開(kāi)發(fā),再到調(diào)試都是自己的思路,其中不免有考慮不周,實(shí)現(xiàn)不完善之
54、處。修改和收藏夾功能還沒(méi)有實(shí)現(xiàn)。另外XML編寫(xiě)的時(shí)候也沒(méi)有使用標(biāo)準(zhǔn)的XML編寫(xiě)方法,雖然其能夠完成本系統(tǒng)的要求,但是也不免有些瑕疵。由于是用XML文件存儲(chǔ)結(jié)構(gòu),不是用單獨(dú)的數(shù)據(jù)庫(kù),因此在使用系統(tǒng)的時(shí)候,數(shù)據(jù)都在內(nèi)存中,因此對(duì)于內(nèi)存消耗比較大,但是在存入文件后,此問(wèn)題消失。我想,在以后的項(xiàng)目開(kāi)發(fā)過(guò)程中,我們會(huì)逐漸解決這些不足之處。 參考文獻(xiàn)1 鄭阿奇,丁有和,鄭進(jìn).Visual C+實(shí)用教程M.北京:電子工業(yè)出版社,2000. 2 美David Simon,周瑜萍.Visual C+6編程寶典M.北京:電子工業(yè)出版社,2005. 3 姚領(lǐng)田.精通MFC程序設(shè)計(jì)M.北京:人民郵電出版社,2006.
55、 4 Sandra,E.Eddy.XML精要:語(yǔ)法詳解與編程指南M.北京:清華大學(xué)出版社,2001. 5 吳揚(yáng)揚(yáng),顏毛智. XML基礎(chǔ)M.北京:高等教育出版社,2005. 6 張海藩.軟件工程導(dǎo)論M.北京:清華大學(xué)出版社,2003.致 謝本論文的工作是2007年2月至2007年6月在成都信息工程學(xué)院網(wǎng)絡(luò)工程系完成的。文中除了特別加以標(biāo)注地方外,不包含他人已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果,也不包含為獲得成都信息工程學(xué)院或其他教學(xué)機(jī)構(gòu)的學(xué)位或證書(shū)而使用過(guò)的材料。除非另有說(shuō)明,本文的工作是原始性工作。本文是在劉云本老師的熱情關(guān)心和指導(dǎo)下完成的,他淵博的知識(shí)和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對(duì)順利完成本課題起到
56、了極大的作用。在此特向他表示忠心的感謝!在論文完成過(guò)程中,本人還得到了蔣和平同學(xué)的熱心幫助,本人向他們表示深深的謝意!最后向在百忙之中評(píng)審本文的各位專(zhuān)家、老師表示衷心的感謝!作者簡(jiǎn)介:姓 名: 黃鵬 性別: 男出生年月: 1983年9月 民族: 漢E-mail: 聲 明關(guān)于學(xué)位論文使用權(quán)和研究成果知識(shí)產(chǎn)權(quán)的說(shuō)明本人完全了解成都信息工程學(xué)院有關(guān)保管使用學(xué)位論文的規(guī)定,其中包括:(1)學(xué)校有權(quán)保管并向有關(guān)部門(mén)遞交學(xué)位論文的原件與復(fù)印件。(2)學(xué)校可以采用影印、縮印或其他復(fù)制方式保存學(xué)位論文。(3)學(xué)??梢詫W(xué)術(shù)交流為目的復(fù)制、贈(zèng)送和交換學(xué)位論文。(4)學(xué)??稍试S學(xué)位論文被查閱或借閱。(5)學(xué)??梢怨?/p>
57、布學(xué)位論文的全部或部分內(nèi)容(保密學(xué)位論文在解密后遵守此規(guī)定)。除非另有科研合同和其他法律文書(shū)的制約,本論文的科研成果屬于成都信息工程學(xué)院。特此聲明! 作者簽名: 2007 年 月 日Are you hungry now?No, I am tired and lazy now; if I pursue you I will not catch you, and if I catch you-through your own slowness and clumsiness-I will not kill you, and if I kill you I will not eat you.Nicho
58、las had begun to back away, and at the last; words, realizing that they were a signal, he turned andbegan to run, splashing through the shallow water. Ignacio ran after him, much helped by his longer legs, his hair flying behind his dark young face, his square teeth-each white as a bone and as big a
59、s Nicholass thumbnail-showing like spectators who lined the railings of his lips.Dont run, Nicholas, Dr. Island said with the voice of a wave. It only makes him angry that you run. Nicholas did not answer, but cut to his left, up the beach and among the trunks of the palms, sprinting all the way bec
60、ause he had no way of knowing Ignacio was not right behind him, about to grab him by the neck. When he stopped it was in the thick jungle, among the boles of the hardwoods, where he leaned,.; out of breath, the thumping of his own heart the only.sound in an atmosphere silent and unwaked as Earths long, prehuman da
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧汽貿(mào)的戰(zhàn)略規(guī)劃課件
- 農(nóng)藥產(chǎn)品化學(xué)登記評(píng)審中存在的問(wèn)題修改
- 職業(yè)適應(yīng)與發(fā)展
- 中國(guó)傳統(tǒng)思想和領(lǐng)導(dǎo)藝術(shù)
- 學(xué)習(xí)英語(yǔ)最好的方法課件
- 團(tuán)隊(duì)建設(shè)與管理教材(PPT 42頁(yè))
- 商務(wù)談判的準(zhǔn)備培訓(xùn)課件
- 單元吃奶和豆及其制品
- 氣管切開(kāi)護(hù)理
- 七上281有理數(shù)的乘法1
- 素質(zhì)拓展學(xué)分重要性
- 地產(chǎn)項(xiàng)目策劃廣告創(chuàng)意
- 華通檸檬渠道推廣活動(dòng)案
- 酸堿平衡紊亂的判讀
- 氣管插管的困難評(píng)估課件