家庭財(cái)務(wù)管理系統(tǒng)-畢業(yè)論文_第1頁(yè)
家庭財(cái)務(wù)管理系統(tǒng)-畢業(yè)論文_第2頁(yè)
家庭財(cái)務(wù)管理系統(tǒng)-畢業(yè)論文_第3頁(yè)
家庭財(cái)務(wù)管理系統(tǒng)-畢業(yè)論文_第4頁(yè)
家庭財(cái)務(wù)管理系統(tǒng)-畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章緒論1.1選題背景隨著人們生活水平的提高,個(gè)人財(cái)富的不斷增長(zhǎng),人們迫切的需要進(jìn)行合理的家庭理財(cái)。因而各式的家庭財(cái)務(wù)管理系統(tǒng)軟件應(yīng)時(shí)而生,它們幫助用戶有效的解決了具體的家庭財(cái)務(wù)問題。為適應(yīng)這種趨勢(shì),家庭財(cái)務(wù)管理軟件向著國(guó)際互聯(lián)網(wǎng)發(fā)展,向著多媒體方向發(fā)展,向著大型數(shù)據(jù)庫(kù)、多平臺(tái)發(fā)展。家庭財(cái)務(wù)管理系統(tǒng)可以有效地記錄和管理家庭的收支情況,合理規(guī)劃和支配家庭資金,是家庭理財(cái)?shù)暮脦褪置恳粋€(gè)家庭好比一個(gè)小企業(yè),都有著收入支出及凈利,大部分家庭會(huì)用腦用手記錄這些煩瑣的數(shù)據(jù),但是只是局限于記住收入的多少和支出的去向,不能在每月甚至于每年都有一個(gè)規(guī)劃和對(duì)比,調(diào)節(jié)家庭財(cái)政狀況然而,家庭財(cái)務(wù)管理系統(tǒng)可以有效地記錄和管理家庭收支情況,合理規(guī)劃和支配家庭資金,是家家戶戶的好管家,完全替代了手記腦記的煩瑣,利于調(diào)節(jié)家庭財(cái)政狀況。1.2課題意義家庭理財(cái)管理系統(tǒng)是為滿足當(dāng)代家庭理財(cái)管理的需要而設(shè)計(jì)開發(fā)的一個(gè)財(cái)務(wù)管理系統(tǒng)。它針對(duì)家庭理財(cái)?shù)男枰_發(fā)出一個(gè)能實(shí)現(xiàn)管理家庭財(cái)務(wù)收支以及統(tǒng)計(jì)分析等功能的實(shí)用型軟件,能夠?yàn)槊恳粋€(gè)家庭的管理者提供充足的信息和快捷的查詢手段,大大方便家庭管理者合理科學(xué)有效的理財(cái)。伴隨著信息時(shí)代的到來,信息的種類、數(shù)量越來越多,容量也越來越大,在競(jìng)爭(zhēng)越來越激烈的今天,隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。而使用計(jì)算機(jī)對(duì)家庭財(cái)務(wù)進(jìn)行管理,已經(jīng)成為一種趨勢(shì),與傳統(tǒng)的手工式家庭財(cái)務(wù)管理相比,利用計(jì)算機(jī)軟件對(duì)家庭財(cái)務(wù)實(shí)行管理具有檢索迅速、查找方便、可行性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等優(yōu)點(diǎn)。家庭理財(cái)管理系統(tǒng)正是在這種環(huán)境下應(yīng)運(yùn)而生,其開發(fā)的整體任務(wù)是實(shí)現(xiàn)家庭財(cái)務(wù)管理的系統(tǒng)化、規(guī)范化、科學(xué)化,從而達(dá)到有效管理家庭財(cái)務(wù)的目的。因此,開發(fā)這樣一個(gè)系統(tǒng)在當(dāng)今社會(huì)中是很有必要的。1.3發(fā)展現(xiàn)狀家庭理財(cái)系統(tǒng),即FamilyConductFinancialTransactionsSystem。它利用計(jì)算機(jī)應(yīng)用技術(shù),使家庭理財(cái)逐步信息化,從而形成由家庭成員與計(jì)算機(jī)共同構(gòu)成服務(wù)于家庭的人機(jī)信息財(cái)務(wù)管理系統(tǒng)。家庭理財(cái)系統(tǒng)在國(guó)內(nèi)外很多地方使用已經(jīng)相當(dāng)?shù)钠毡?。?guó)外的家庭理財(cái)管理系統(tǒng)發(fā)展的相對(duì)比較成熟,比如他們系統(tǒng)里包含有股票的預(yù)測(cè)、基金的分析等等。在國(guó)內(nèi),計(jì)算機(jī)使用盛行的當(dāng)今社會(huì),家庭理財(cái)管理系統(tǒng)已基本替代了傳統(tǒng)的手工記賬理財(cái)?shù)姆椒?,給消費(fèi)者帶來極大的方便,但由于人們的生活水平越來越高,收支種類越來越多,家庭消費(fèi)的內(nèi)容日益豐富等,現(xiàn)行的許多家庭理財(cái)管理系統(tǒng)已不能滿足大家的需求,許多功能還亟待完善與更新。雖然國(guó)內(nèi)的家庭理財(cái)管理系統(tǒng)功能較不完善,但在我國(guó)科技迅速發(fā)展的今天,其發(fā)展前景將十分令人期待,尤其是在近幾年,伴隨著計(jì)算機(jī)在社會(huì)中的高速普及,家庭理財(cái)系統(tǒng)的使用范圍逐步擴(kuò)大,從最早的簡(jiǎn)單記錄家庭、個(gè)人財(cái)務(wù)的收支情況,到現(xiàn)在對(duì)財(cái)務(wù)的收支查詢、匯總、報(bào)表分析、預(yù)測(cè)等等。巨大的市場(chǎng)需求也促使了很多公司加大了對(duì)家庭理財(cái)系統(tǒng)的研究。當(dāng)今社會(huì)人們的生活水平和文化素質(zhì)普遍提高,隨著市場(chǎng)經(jīng)濟(jì)的快速發(fā)展,觀念的不斷更新,每個(gè)人的理財(cái)意識(shí)普遍增強(qiáng),特別是家庭理財(cái)意識(shí)得到很大發(fā)展,人們對(duì)家庭各方面消費(fèi)不僅僅只有進(jìn)行記錄和統(tǒng)計(jì)的愿望,各種收入消費(fèi)途徑錯(cuò)綜復(fù)雜,如何使用戶能更加方便的操作成為要求;同時(shí)伴隨精神和物質(zhì)生活的提高,人們購(gòu)置和使用計(jì)算機(jī)的能力也在增強(qiáng),網(wǎng)絡(luò)越來越發(fā)達(dá),一種新型網(wǎng)絡(luò)家庭理財(cái)管理系統(tǒng)軟件正等待出現(xiàn)。家庭理財(cái)管理系統(tǒng)是一個(gè)為方便處理家庭財(cái)務(wù)的一個(gè)軟件,它的作用是更好的滿足理財(cái)者對(duì)家庭財(cái)務(wù)管理的需要。目前社會(huì)上普遍使用的家庭理財(cái)管理系統(tǒng)基本都是單擊版的,隨著IT技術(shù)的進(jìn)步和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,以及家庭收支范圍的擴(kuò)大,家庭理財(cái)管理系統(tǒng)將逐漸從傳統(tǒng)的桌面管理向網(wǎng)絡(luò)集成的方向發(fā)展,從局部、靜態(tài)、事后核算到全局、動(dòng)態(tài)、實(shí)時(shí)的管理,基于不同軟硬件平臺(tái)、不同網(wǎng)絡(luò)架構(gòu)的各級(jí)財(cái)務(wù)管理子系統(tǒng)需要有機(jī)地協(xié)同工作。因此基于Internet的家庭理財(cái)管理系統(tǒng)必然成為未來家庭理財(cái)管理系統(tǒng)的發(fā)展趨勢(shì)。第2章系統(tǒng)分析2.1可行性分析可行性分析可以進(jìn)一步明確系統(tǒng)的目標(biāo),規(guī)模與功能。對(duì)系統(tǒng)開發(fā)背景、必要性和意義進(jìn)行調(diào)查分析并根據(jù)需要和可能提出擬定開發(fā)系統(tǒng)的初步方案與計(jì)劃??尚行匝芯渴菍?duì)系統(tǒng)進(jìn)行全面,概要的分析。此項(xiàng)活動(dòng)開始時(shí),要對(duì)初步調(diào)查的結(jié)果進(jìn)行復(fù)審,重新明確問題,對(duì)所提系統(tǒng)大致規(guī)模和目標(biāo)及有關(guān)約束條件論證,并且提出系統(tǒng)的邏輯模型和各種可能方案。當(dāng)今社會(huì)是一個(gè)講求效率的社會(huì),時(shí)間就是金錢。開發(fā)簡(jiǎn)單,易于操作的,管理軟件不僅可以節(jié)省時(shí)間,還可以避免浪費(fèi)人力,物力,提高效率。待開發(fā)系統(tǒng)是一個(gè)對(duì)家庭理財(cái)管理系統(tǒng),簡(jiǎn)單,易學(xué),將成為家庭理財(cái)?shù)牡暮脦褪?。并非所有問題都有簡(jiǎn)單明顯的解決辦法,事實(shí)上,許多問題不可能在預(yù)定的系統(tǒng)規(guī)模或時(shí)間限制之內(nèi)解決。如果問題沒有可行的解,那么花費(fèi)在這項(xiàng)工程上的任何時(shí)間、人力、軟件資源和經(jīng)費(fèi),都是無(wú)謂的浪費(fèi)??尚行匝芯康哪康?,就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能解決。必須時(shí)刻記住,可行性研究的目的不是解決問題,而是確定問題是否值得去解決。2.2需求分析在可行性研究的基礎(chǔ)上進(jìn)一步對(duì)現(xiàn)行系統(tǒng)進(jìn)行全面、深入的調(diào)查和分析,弄清楚現(xiàn)行系統(tǒng)的工作過程,發(fā)現(xiàn)其薄弱環(huán)節(jié),找出要解決問題的實(shí)質(zhì),確保新系統(tǒng)有效。通過和大量家庭的交流,了解到原信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,存在很多的問題:(1)資料統(tǒng)計(jì)為手工進(jìn)行。財(cái)產(chǎn)信息處理工作量很大,易出錯(cuò)且耗時(shí)。(2)財(cái)產(chǎn)信息共享率低,大量重復(fù)勞動(dòng)。(3)紙張的保存不方便,容易丟失和破損。(4)各類信息查詢,統(tǒng)計(jì)不方便。通過建立家庭理財(cái)系統(tǒng),使家庭財(cái)產(chǎn)管理工作規(guī)范化、制度化和程序化,減少此方面的不必要的浪費(fèi)的時(shí)間與精力,避免管理的隨意性,提高財(cái)產(chǎn)信息處理的速度和準(zhǔn)確性,提高決策的水平。將常規(guī)的工作交由計(jì)算機(jī)完成,提高管理家庭財(cái)產(chǎn)管理的效率。家庭財(cái)務(wù)管理系統(tǒng)軟件是為用戶進(jìn)行家庭成員的收支構(gòu)成及信息管理進(jìn)行輔助的應(yīng)用軟件、功能需求描述如下:(1)用戶登錄:系統(tǒng)獲取的家庭成員用戶名和密碼判斷該家庭成員能否成功登錄系統(tǒng),并且當(dāng)用戶登錄后根據(jù)權(quán)限判斷該家庭成員是管理員還是普通成員,可以使用哪些對(duì)應(yīng)的功能。普通級(jí)別的用戶只有瀏覽等權(quán)限而不能進(jìn)行實(shí)質(zhì)性的改動(dòng)。(2)給家庭成員提供功能選擇界面:不同級(jí)別的家庭成員對(duì)應(yīng)不同的功能選擇界面.功能選擇界面包括輸入功能選項(xiàng)、調(diào)用相應(yīng)程序兩大需求。管理員和普通用戶對(duì)應(yīng)的功能選擇界面是不同的。(3)管理收支信息:用戶根據(jù)提示輸入家庭成員的姓名、各項(xiàng)財(cái)務(wù)信息,如收入、支出、合計(jì)。(4)增加家庭成員收支信息:可在原有收支信息文件的基礎(chǔ)上增加新的家庭成員財(cái)務(wù)信息記錄,并繼續(xù)保存至數(shù)據(jù)庫(kù)。(5)刪除家庭成員收支信息:提示用戶輸入要進(jìn)行刪除操作的家庭成員,如果在文件中有該家庭成員的收支信息存在,則將該序號(hào)所對(duì)應(yīng)的姓名、序號(hào)、各種收入信息等在對(duì)應(yīng)項(xiàng)目中加以刪除。(6)修改家庭成員收支信息:提示用戶輸入要進(jìn)行修改操作的家庭成員,如果有該家庭成員的收支信息存在,則提示用戶輸入該序號(hào)對(duì)應(yīng)的家庭成姓名、收入和支出構(gòu)成等需要修改的選項(xiàng),并將修改結(jié)果存儲(chǔ)于數(shù)據(jù)庫(kù)。(7)查詢家庭成員財(cái)務(wù)情況:分為根據(jù)家庭成員查詢和項(xiàng)目查詢兩個(gè)具體需求,選擇其中一項(xiàng)用戶輸入要查詢家庭成員信息或項(xiàng)目,如果在數(shù)據(jù)庫(kù)中有對(duì)應(yīng)的家庭成員財(cái)務(wù)信息,則逐項(xiàng)列出對(duì)應(yīng)家庭成員的收支狀況。(8)家庭成員管理:家長(zhǎng)對(duì)普通家庭成員的管理也需要進(jìn)行家庭成員的創(chuàng)建、增加、刪除、修改和瀏覽。每當(dāng)有家庭成員登錄系統(tǒng)時(shí),系統(tǒng)都會(huì)根據(jù)數(shù)據(jù)庫(kù)中的用戶名和密碼進(jìn)行核實(shí)判斷,用戶才能夠順得登錄。家長(zhǎng)還具有增加新家庭成員的功能。當(dāng)某些家庭成員不再使用系統(tǒng)時(shí),還可進(jìn)行刪除操作,并且家長(zhǎng)具有修改家庭成員權(quán)限的功能。2.3所用技術(shù)本系統(tǒng)采用b/S模式,后臺(tái)使用SQLSever作為后臺(tái)的數(shù)據(jù)管理系統(tǒng),而在前臺(tái)使用SQLSever的Command組件來調(diào)用存儲(chǔ)過程的。SQL(StructuredQueryLanguage,結(jié)構(gòu)查詢語(yǔ)言)是一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)語(yǔ)言[1]。SQL通常使用于數(shù)據(jù)庫(kù)的通訊。ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì))聲稱,SQL是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言。SQL語(yǔ)句通常用于完成一些數(shù)據(jù)庫(kù)的操作任務(wù),比如在數(shù)據(jù)庫(kù)中更新數(shù)據(jù),或者從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)。它具有簡(jiǎn)單,高效,功能強(qiáng)大等特點(diǎn),一直是廣大程序員喜愛的編程工具,并且運(yùn)用C#作為編程語(yǔ)言,C#代碼在.net框架提供的受控環(huán)境下運(yùn)行,不允許直接操作內(nèi)存。C#具有面向?qū)ο缶幊陶Z(yǔ)言所應(yīng)有的的一切特性,如封裝,繼承和多態(tài)。在C#眾多的優(yōu)勢(shì)中,它在數(shù)據(jù)庫(kù)方面的特長(zhǎng)顯得尤為突出:適合于多種數(shù)據(jù)庫(kù)結(jié)構(gòu),從客戶/服務(wù)機(jī)模式到多層數(shù)據(jù)結(jié)構(gòu)模式,而且C#編寫的代碼具有更好的可讀性,而且減少了發(fā)生命名沖突的可能。2.3.1ASP.NET簡(jiǎn)介ASP.Net2.0是把基于通用語(yǔ)言的程序在服務(wù)器上運(yùn)行。不像以前的ASP即時(shí)解釋程序,而是將程序在服務(wù)器端首次運(yùn)行時(shí)進(jìn)行編譯。ASP.Net2.0構(gòu)架是可以用Microsoft(R)公司最新的產(chǎn)品VisualS開發(fā)環(huán)境進(jìn)行開發(fā),WYSIWYG(WhatYouSeeIsWhatYouGet所見即為所得)的編輯。這些僅是ASP.Net2.0強(qiáng)大化軟件支持的一小部分[3]。

因?yàn)锳SP.Net2.0是基于通用語(yǔ)言的編譯運(yùn)行的程序,所以它的強(qiáng)大性和適應(yīng)性,可以使它運(yùn)行在Web應(yīng)用軟件開發(fā)者的幾乎全部的平臺(tái)上。通用語(yǔ)言的基本庫(kù),消息機(jī)制,數(shù)據(jù)接口的處理都能無(wú)縫的整合到ASP.Net2.0的Web應(yīng)用中。ASP.Net2.0同時(shí)也是language-independent語(yǔ)言獨(dú)立化的,所以,你可以選擇一種最適合你的語(yǔ)言來編寫你的程序,或者把你的程序用很多種語(yǔ)言來寫,現(xiàn)在已經(jīng)支持的有C#(C++和Java的結(jié)合體),VB,Jscript[4]。將來,這樣的多種程序語(yǔ)言協(xié)同工作的能力保護(hù)您現(xiàn)在的基于COM+開發(fā)的程序,能夠完整的移植向ASP.Net2.0。

ASP.Net2.0使用一種字符基礎(chǔ)的,分級(jí)的配置系統(tǒng),使你服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡(jiǎn)單。因?yàn)榕渲眯畔⒍急4嬖诤?jiǎn)單文本中,新的設(shè)置有可能都不需要啟動(dòng)本地的管理員工具就可以實(shí)現(xiàn)。這種被稱為"ZeroLocalAdministration"的哲學(xué)觀念使ASP.Net2.0的基于應(yīng)用的開發(fā)更加具體,和快捷。一個(gè)ASP.Net2.0的應(yīng)用程序在一臺(tái)服務(wù)器系統(tǒng)的安裝只需要簡(jiǎn)單的拷貝一些必須得文件,不需要系統(tǒng)的重新啟動(dòng),一切就是這么簡(jiǎn)單。

ASP.Net2.0已經(jīng)被刻意設(shè)計(jì)成為一種可以用于多處理器的開發(fā)工具,它在多處理器的環(huán)境下用特殊的無(wú)縫連接技術(shù),將很大的提高運(yùn)行速度。即使你現(xiàn)在的ASP.Net2.0應(yīng)用軟件是為一個(gè)處理器開發(fā)的,將來多處理器運(yùn)行時(shí)不需要任何改變都能提高他們的效能,但現(xiàn)在的ASP確做不到這一點(diǎn)。

ASP.NET優(yōu)越性主要體現(xiàn)在以下幾個(gè)方面:(1)效率,ASP.NET是建立在.NETFramework之上的,可使用VisualBasic,C++這樣的模塊化程序設(shè)計(jì)語(yǔ)言,在第一次執(zhí)行后不須重新編譯就可直接運(yùn)行,所以速度和效率比ASP這種只能用VBScript或JavaScript這樣的非模塊化語(yǔ)言來編寫的腳本編程語(yǔ)言提高很多。(2)是可重用性ASP.NET不再像ASP那樣將ASP代碼與HTML混合在一起,而是實(shí)現(xiàn)代碼與內(nèi)容的完全分離,可重用性強(qiáng)。(3)是代碼量.ASP對(duì)所有要實(shí)現(xiàn)的功能通過編寫代碼來實(shí)現(xiàn),而ASP.NET只須預(yù)先說明,就可自動(dòng)實(shí)現(xiàn),所以,實(shí)現(xiàn)同樣的功能,ASP.NET要比ASP代碼量小的多。2.3.2SQLServer數(shù)據(jù)庫(kù)簡(jiǎn)介⑴SQLServer為用戶提供了完整的數(shù)據(jù)庫(kù)解決方案,該軟件功能強(qiáng)大、使用方便,已為越來越多的人所信賴。SQLServer支持并發(fā)連接,允許多個(gè)用戶同時(shí)訪問數(shù)據(jù),完全能夠滿足用戶的需求。SQL提供了強(qiáng)大的數(shù)據(jù)存儲(chǔ)功能,高效率的數(shù)據(jù)查詢技術(shù)、方便易用的向?qū)Ш凸ぞ?,友好親切的用戶界面,是制作該系統(tǒng)后臺(tái)的很好的UY工具。⑵SQLServer特點(diǎn)①真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。②豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。③SQLServer與WindowsNT完全集成,利用了NT的許多功能.SQLServer也可以很好地與MicrosoftBackOffice產(chǎn)品集成[7]。④SQLServer具有很好的伸縮性,提供數(shù)據(jù)倉(cāng)庫(kù)功能。⑤對(duì)Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)布到Web頁(yè)面上,圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫(kù)管理更加直觀、簡(jiǎn)單。2.3.3HTMLHTML的英文全稱是"HypertextMarkupLanguage",中文譯為“超文本標(biāo)記語(yǔ)言”。“超文本”就是指頁(yè)面內(nèi)可以包含圖片,聯(lián)接,甚至音樂,程序等非文字的元素。在幾年前作為SGML的一個(gè)子集開發(fā)的。一個(gè)HTML文件中包含了所有將顯示在網(wǎng)頁(yè)上的文字信息,其中也包括對(duì)瀏覽器的一些指示,如哪些文字應(yīng)放置在何處,顯示模式是什么樣的等。如果你還有一些圖片、動(dòng)畫、聲音或是任何其它形式的資源,HTML文件也會(huì)告訴瀏覽器到哪里去查找這些資源,以及這些資源將放置在網(wǎng)頁(yè)的什么位置。瀏覽的網(wǎng)頁(yè)就是由HTML語(yǔ)言編寫出來的。雖然HTML是一種語(yǔ)言,但HTML不是程序語(yǔ)言,如C++和Java之類,它只是標(biāo)示語(yǔ)言,你只要明白了各種標(biāo)記的用法便算學(xué)會(huì)了HTML.HTML的格式非常簡(jiǎn)單,只是由文字及標(biāo)記組合而成,因此任何文本編輯器都可以制作HTML頁(yè)面。在編輯器中輸入html代碼即可完成對(duì)網(wǎng)頁(yè)的設(shè)計(jì),如果在其中加入VB,JAVA等腳本文件以及數(shù)據(jù)庫(kù)連接有關(guān)的語(yǔ)句指令,便可對(duì)已知數(shù)據(jù)進(jìn)行查詢,從而生成動(dòng)態(tài)網(wǎng)頁(yè)的一部分[2]。第3章系統(tǒng)概要設(shè)計(jì)3.1功能結(jié)構(gòu)圖功能模塊圖如圖3-1所示圖3-1內(nèi)部功能模塊圖3.2詳細(xì)功能模塊3.2.1家庭成員管理模塊通過家庭成員管理模塊設(shè)置家庭成員,進(jìn)行增加、刪除、修改或者查看等操作。家庭成員字段應(yīng)該包括“編號(hào),姓名,登錄名,登錄密碼”等。家庭成員可以用登錄名和登錄密碼登錄家庭財(cái)務(wù)管理系統(tǒng)進(jìn)行記賬管理。3.2.2收支項(xiàng)目管理模塊通過收支項(xiàng)目管理模塊設(shè)置收支項(xiàng)目,進(jìn)行增加、刪除、修改或者查看等操作。收支項(xiàng)目要求分為兩層,比如“車輛維護(hù)-保養(yǎng)費(fèi)”;任意一層次都可作為收支項(xiàng)目記賬,用戶在不清楚支出是否屬于“保養(yǎng)費(fèi)”的時(shí)候,可以選擇大類“車輛維護(hù)”作為支出項(xiàng);收支項(xiàng)目具體應(yīng)該包括“編號(hào),項(xiàng)目名稱,收入還是支出”,編號(hào)不用顯示在收支賬薄中。3.2.3統(tǒng)計(jì)管理模塊 (1)記賬 記錄收支項(xiàng)目,收支日期,收支家庭成員,收支金額,備注等內(nèi)容。幣種只支持人民幣。 (2)賬薄管理 顯示給用戶一個(gè)賬薄,可以賬薄上新增、修改、刪除、查詢記賬,查詢記賬可以選定一個(gè)日期范圍進(jìn)行查詢。3.2.4數(shù)據(jù)備份模塊通過數(shù)據(jù)備份模塊進(jìn)行家庭財(cái)務(wù)信息數(shù)據(jù)備份,點(diǎn)擊“數(shù)據(jù)備份”,通過超鏈接再點(diǎn)擊下載并保存。第4章系統(tǒng)詳細(xì)設(shè)計(jì)4.1實(shí)現(xiàn)概述該網(wǎng)站將采用三層體系結(jié)構(gòu)將應(yīng)用程序劃分為三個(gè)邏輯層面,因?yàn)槿龑咏Y(jié)構(gòu)有很多優(yōu)點(diǎn),具體而言主要有以下幾點(diǎn):首先,通過將整個(gè)系統(tǒng)分為不同的邏輯塊,大大降低了應(yīng)用系統(tǒng)開發(fā)和維護(hù)的成本。其次,系統(tǒng)的擴(kuò)展性大大增強(qiáng)。模塊化使得系統(tǒng)很容易在縱向和水平兩個(gè)方向拓展:一方面可以將系統(tǒng)升級(jí)為更大、更有力的平臺(tái),同時(shí)也可以適當(dāng)增加規(guī)模來增強(qiáng)系統(tǒng)的網(wǎng)絡(luò)應(yīng)用。最后,三層機(jī)構(gòu)的中間層還提供全程交易保護(hù)功能,即要么全部提交要么全部放棄,數(shù)據(jù)具有高度的完整性和安全性。這三個(gè)邏輯層在本網(wǎng)站系統(tǒng)的具體功能如下:(1)用戶服務(wù)層(UserServicesTier),也稱為表現(xiàn)服務(wù)(PresebtationServices),是用戶與應(yīng)用程序進(jìn)行交互的端點(diǎn)。通常由WIN32或者基于瀏覽器的圖形用戶界面應(yīng)用構(gòu)成。在該層用戶可以查看、輸入和處理數(shù)據(jù)[10]。從用戶的角度來看,用戶服務(wù)層就是整個(gè)應(yīng)用。在該網(wǎng)站系統(tǒng)中,用戶服務(wù)層由webforms構(gòu)成,它可以提供用戶瀏覽和查詢服務(wù),查看他們的感興趣的企業(yè)或是個(gè)人的信息,并且進(jìn)行互動(dòng)。(2)商務(wù)服務(wù)層,也稱為中間層或者應(yīng)用服務(wù)層,它負(fù)責(zé)封裝事務(wù)處理、商務(wù)規(guī)則、數(shù)據(jù)訪問及其他的核心應(yīng)用邏輯。商務(wù)服務(wù)層可以有效地作為前臺(tái)用戶服務(wù)層和后臺(tái)數(shù)據(jù)服務(wù)和數(shù)據(jù)存儲(chǔ)之間的橋梁。在網(wǎng)站系統(tǒng)中,商務(wù)服務(wù)層將由在windows組件服務(wù)中執(zhí)行的事務(wù)處理和非事務(wù)處理.net服務(wù)組件構(gòu)成。它的任務(wù)是接受用戶的請(qǐng)求,首先需要執(zhí)行相應(yīng)的擴(kuò)展應(yīng)用程序與數(shù)據(jù)庫(kù)進(jìn)行連接,通過SQL等方式向數(shù)據(jù)庫(kù)服務(wù)器提出數(shù)據(jù)處理申請(qǐng),而后等數(shù)據(jù)庫(kù)服務(wù)器將數(shù)據(jù)處理的結(jié)果提交給Web服務(wù)器,再由Web服務(wù)器傳送回客戶端。(3)數(shù)據(jù)服務(wù)層,該層負(fù)責(zé)檢索和操作在一個(gè)或者多個(gè)數(shù)據(jù)存儲(chǔ)中存儲(chǔ)的數(shù)據(jù)。通過將數(shù)據(jù)訪問和操作分離到獨(dú)立的邏輯層中,就可以將商品服務(wù)層從附屬數(shù)據(jù)存儲(chǔ)的細(xì)節(jié)中抽象出去。在該網(wǎng)站系統(tǒng)中,數(shù)據(jù)服務(wù)層定義和維護(hù)數(shù)據(jù)的完整性和安全性,響應(yīng)訪問數(shù)據(jù)的請(qǐng)求,它接受Web服務(wù)器對(duì)數(shù)據(jù)庫(kù)操縱的請(qǐng)求,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)查詢、修改、更新等功能,把運(yùn)行結(jié)果提交給Web服務(wù)器。整個(gè)網(wǎng)站系統(tǒng)的邏輯體系結(jié)構(gòu)如表4-1所示:表4-1網(wǎng)站系統(tǒng)的邏輯體系結(jié)構(gòu)用戶服務(wù)用戶交互頁(yè)面導(dǎo)航數(shù)據(jù)表現(xiàn)ASP.NET的WebFormsASP.NET的WebForms業(yè)務(wù)服務(wù)事務(wù)處理邏輯業(yè)務(wù)規(guī)則定義數(shù)據(jù)訪問.NET的服務(wù)器組件ASP.NET的web服務(wù).NET的服務(wù)器組件ASP.NET的web服務(wù)數(shù)據(jù)服務(wù)數(shù)據(jù)檢索數(shù)據(jù)操作數(shù)據(jù)驗(yàn)證SQLSERVER的存儲(chǔ)過程SQLSERVER的存儲(chǔ)過程數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)關(guān)系數(shù)據(jù)完整性數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)4.2軟件的運(yùn)行環(huán)境設(shè)計(jì)服務(wù)端硬件要求:如表4-2所示表4-2服務(wù)端硬件要求站點(diǎn)最低配置PIII500MHz以上256MB600MB以上站點(diǎn)推薦配置PIII500MHz以上512MB1GB以上服務(wù)端操作系統(tǒng)及軟件要求:1服務(wù)器要求:

WindowsNTServerWithServerPack4andMicrosoftInternetExploreSP1以上Windows2000系列[11]2Web服務(wù)器:

MicrosoftIIS5.0以上3數(shù)據(jù)庫(kù)服務(wù)器:

SQLserver客戶端硬件及軟件要求:如表4-3所示表4-3客戶端硬件及軟件要求主頻內(nèi)存瀏覽器最低配置賽陽(yáng)300MHz以上64MB以上IE5.0標(biāo)準(zhǔn)配置PII400MHz以上128MB以上IE5.5本系統(tǒng)采用B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器結(jié)構(gòu))和基于Web服務(wù)兩種模式,是一個(gè)適用于Internet環(huán)境下的模型結(jié)構(gòu)。只要用戶能連上Internet,便可以在任何時(shí)間、任何地點(diǎn)使用。系統(tǒng)工作原理圖如圖4-4所示:圖4-4系統(tǒng)工作原理圖4.3數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)庫(kù)的設(shè)計(jì)通常是以一個(gè)已經(jīng)存在的數(shù)據(jù)庫(kù)管理系統(tǒng)為基礎(chǔ)的,常用的數(shù)據(jù)庫(kù)管理系統(tǒng)有MYSQL,SQLServer,Oracle等[8]。我采用了SQLserver2005數(shù)據(jù)庫(kù)管理系統(tǒng),建立的數(shù)據(jù)庫(kù)名為FinancialManagement。4.4數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)4.4.1Users(家庭人員信息表)主要用于保存家庭人員的基本信息,該表的結(jié)構(gòu)如表4-5所示表4-5Users表列名數(shù)據(jù)類型長(zhǎng)度允許空IdInt4否NameNvarchar50是PwdNvarchar50是RealNameNavarre50是4.4.2F_shouru(財(cái)務(wù)信息表)主要用于收入記賬的基本信息,該表的結(jié)構(gòu)如表4-6所示表4-6F_shouru表列名數(shù)據(jù)類型長(zhǎng)度允許空IdInt4否NameNvarchar50是TypeNvarchar50是AddtimeDatetime8是UserNameNvarchar50是AddMoneyFloat8是DsText16是4.4.3Type(記賬類型信息表)主要用于保存記賬類型的基本信息,該表的結(jié)構(gòu)如表4-7所示表4-7Type表列名數(shù)據(jù)類型長(zhǎng)度允許空IdInt4否NameNvarchar50是TypeNvarchar50是4.4.4F_zhichu(財(cái)務(wù)信息表)主要用于支出記賬的基本信息,該表的結(jié)構(gòu)如表4-8所示表4-8F_zhichu表 列名數(shù)據(jù)類型長(zhǎng)度允許空IdInt4否NameNvarchar50是TypeNvarchar50是AddtimeDatetime8是UserNameNvarchar50是AddMoneyFloat8是DsText16是4.4.5Data(數(shù)據(jù)類型信息表)主要用于保存數(shù)據(jù)類型的基本信息,該表的結(jié)構(gòu)如表4-9所示表4-9Data表列名數(shù)據(jù)類型長(zhǎng)度允許空IdInt4否PathNvarchar500是AddtimeAddtime50是4.5系統(tǒng)E-R圖家庭財(cái)務(wù)管理系統(tǒng)如圖4-10所示圖4-10E-R圖4.6處理流程設(shè)計(jì)4.6.1系統(tǒng)操作流程如下圖4-11所示:圖4-11系統(tǒng)操作流程4.6.2數(shù)據(jù)增加流程添加信息時(shí),編號(hào)字段由系統(tǒng)自動(dòng)生成,且不能修改,其他信息由用戶輸入,之后對(duì)數(shù)據(jù)進(jìn)行合法判斷,合法則寫入保存至數(shù)據(jù)庫(kù),不合法則重新輸入數(shù)據(jù)。數(shù)據(jù)增加流程圖:如下圖4-12所示。圖4-12數(shù)據(jù)增加流程圖4.6.3數(shù)據(jù)修改流程在修改信息時(shí),先選中一條待修改的記錄,然后直接輸入數(shù)據(jù),判斷合法性,合法則保存至數(shù)據(jù)庫(kù),不合法重新輸入。數(shù)據(jù)修改流程圖如下圖4-13所示。圖4-13數(shù)據(jù)修改流程圖4.6.4數(shù)據(jù)刪除流程當(dāng)用戶選定一條記錄時(shí),單擊刪除按鈕,會(huì)提示用戶是否確定刪除,然后刪除數(shù)據(jù)庫(kù)相關(guān)內(nèi)容。數(shù)據(jù)刪除流程圖如下圖4-14所示。圖4-14數(shù)據(jù)刪除流程圖4.7功能模塊4.7.1用戶登陸模塊系統(tǒng)的登錄界面,需要家庭成員才能登錄進(jìn)入使用系統(tǒng),當(dāng)輸入錯(cuò)誤的帳號(hào)、密碼會(huì)有提示框提醒重新輸入。如圖4-15所示:圖4-15用戶登錄模塊主要代碼如下:privatevoidchkUser(){if(TxtUserName.Text==""&&TxtPassword.Text==""){Alert.AlertAndRedirect("沒有輸入賬號(hào)和密碼!","Login.aspx");}else{dr=data.GetDataReader("select*from[Users]whereName='"+TxtUserName.Text.Trim()+"'andPwd='"+TxtPassword.Text.Trim()+"'");if(dr.Read()){Session["User"]=dr["Name"].ToString();Response.Redirect("Default.aspx");}else{Alert.AlertAndRedirect("賬號(hào)或者密碼不對(duì)請(qǐng)重新登陸!","Login.aspx");}}}protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse){chkUser();}protectedvoidImageButton2_Click(objectsender,ImageClickEventArgse){TxtPassword.Text="";TxtUserName.Text="";}protectedvoidLinkButton1_Click(objectsender,EventArgse){Response.Redirect("Login.aspx");}4.7.2賬目管理模塊進(jìn)入賬簿管理可以對(duì)錄入的收支項(xiàng)目進(jìn)行查看、修改、刪除、新增和查找管理賬目信息。如下圖4-16所示:圖4-16賬目管理模塊主要代碼如下:protectedvoidgvFilms_RowDeleting(objectsender,GridViewDeleteEventArgse){SqlHelpermydata=newSqlHelper();stringID=gvFilms.DataKeys[e.RowIndex].Values[0].ToString();try{mydata.RunSql("deletefromF_Moneywhereid='"+ID+"'");Label4.Text="刪除成功!";gvFilms.EditIndex=-1;Get_Article();}catch{Label4.Text="刪除失??!";}}privatevoidGet_Article(){try{gvFilms.DataSource=GetCodeBy(0);gvFilms.DataBind();}catch{}}protectedvoidgvFilms_PageIndexChanging(objectsender,GridViewPageEventArgse){gvFilms.PageIndex=e.NewPageIndex;Get_Article();}protectedvoidgvFilms_RowDataBound(objectsender,GridViewRowEventArgse){//鼠標(biāo)移動(dòng)變色if(e.Row.RowType==DataControlRowType.DataRow){//當(dāng)鼠標(biāo)放上去的時(shí)候先保存當(dāng)前行的背景顏色并給附一顏色e.Row.Attributes.Add("onmouseover","currentcolor=this.style.backgroundColor;this.style.backgroundColor='#f6f6f6',this.style.fontWeight='';");//當(dāng)鼠標(biāo)離開的時(shí)候?qū)⒈尘邦伾€原的以前的顏色e.Row.Attributes.Add("onmouseout","this.style.backgroundColor=currentcolor,this.style.fontWeight='';");}//單擊行改變行背景顏色if(e.Row.RowType==DataControlRowType.DataRow){e.Row.Attributes.Add("onclick","this.style.backgroundColor='#f6f6f6';this.style.color='buttontext';this.style.cursor='default';");}}publicDataSetGetCodeBy(intiCount){SqlHelperdate=newSqlHelper();stringstrTop="";if(iCount>1){strTop="top"+iCount.ToString();}stringsql="select"+strTop+"*from[F_Money]";SqlConnectioncon=newSqlConnection(SqlHelper.connstring);SqlCommandcmd=newSqlCommand(sql,con);SqlDataAdapterda=newSqlDataAdapter(cmd);DataSetds=null;try{con.Open();ds=newDataSet();da.Fill(ds);}catch(SqlExceptionex){throwex;}catch(Exceptionex){throwex;}finally{con.Close();}returnds;}protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse){Response.Redirect("AddMoney.aspx");}protectedvoidImageButton2_Click(objectsender,ImageClickEventArgse){Response.Redirect("Search.aspx");}4.7.3添加賬目模塊家庭成員登陸后可以進(jìn)入賬簿管理,在這里可以添加賬目信息,包括收支的項(xiàng)目、收支類型、收支成員類型、收支的金額和可以對(duì)這筆記賬進(jìn)行備注。如圖4-17所示:圖4-17添加模塊主要代碼如下:Alertalert=newAlert();SqlHelperdata=newSqlHelper();publicstringDownPath;protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){Type();Users();}}privatevoidType(){drpParentItem.DataSource=data.GetDataReader("select*fromType");drpParentItem.DataTextField="name";drpParentItem.DataValueField="id";drpParentItem.DataBind();}privatevoidUsers(){drpUserName.DataSource=data.GetDataReader("select*fromUsers");drpUserName.DataTextField="RealName";drpUserName.DataValueField="id";drpUserName.DataBind();}protectedvoidIbnOk_Click(objectsender,ImageClickEventArgse){data.RunSql("insertintoF_Money(name,Type,UserName,AddMoney,Ds)values('"+drpParentItem.SelectedItem.Text+"','"+drpSubItem.SelectedItem.Text+"','"+drpUserName.SelectedItem.Text+"','"+TxtMoney.Text+"','"+TxtStatement.Text+"')");Alert.AlertAndRedirect("添加成功!","MangerZb.aspx");}protectedvoidIbnCanel_Click(objectsender,ImageClickEventArgse){Response.Redirect("MangerZb.aspx");}4.7.4查找賬目信息家庭成員登陸后進(jìn)入賬簿管理,可以按時(shí)間對(duì)賬目信息進(jìn)行查詢。如圖4-18所示:圖4-18查找模塊主要代碼如下:protectedvoidIbnOk_Click(objectsender,ImageClickEventArgse){stringbeingtime=txttime1.Value;stringendtime=Text1.Value;Response.Redirect("SearchList.aspx?b="+beingtime+"&e="+endtime);}protectedvoidIbnCanel_Click1(objectsender,ImageClickEventArgse){Response.Redirect("MangerZb.aspx");}4.7.5家庭人員管理模塊家庭成員登陸后,進(jìn)入家庭成員管理模塊,對(duì)現(xiàn)有的家庭成員進(jìn)行添加、刪除和修改。如圖4-19所示:圖4-19家庭成員管理模塊主要代碼如下:protectedvoidImageButton2_Click1(objectsender,ImageClickEventArgse){Response.Redirect("AddUser.aspx");}protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse){data.RunSql("insertintoUsers(Pwd,Name,RealName)values('"+TextBox4.Text+"','"+TextBox3.Text+"','"+TextBox2.Text+"')");Alert.AlertAndRedirect("添加成功!","UserList.aspx");}4.7.6賬目類別信息管理家庭成員登陸后,進(jìn)入收支項(xiàng)目管理可以對(duì)所需要的項(xiàng)目進(jìn)行添加、修改和刪除賬目類別信息。如圖4-20所示:圖4-20收支項(xiàng)目管理模塊主要代碼如下:protectedvoidInitData(){SqlHelpermydata=newSqlHelper();GridView1.DataSource=mydata.GetDataReader("select*fromType");GridView1.DataBind();}//GridView控件RowDeleting事件protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse){SqlHelpermydata=newSqlHelper();stringID=GridView1.DataKeys[e.RowIndex].Values[0].ToString();try{mydata.RunSql("deletefromTypewhereid='"+ID+"'");Label4.Text="刪除成功!";GridView1.EditIndex=-1;InitData();}catch{Label4.Text="刪除失??!";}}4.7.7賬目統(tǒng)計(jì)信息家庭成員登陸后,進(jìn)入報(bào)表統(tǒng)計(jì)模塊,可以查詢現(xiàn)有賬目信息,可以導(dǎo)出Excel保存和打印所需要的數(shù)據(jù)。如圖4-21所示:圖4-21賬目統(tǒng)計(jì)模塊主要代碼如下:publicDataSetGetCodeBy(intiCount){SqlHelperdate=newSqlHelper();stringstrTop="";if(iCount>1){strTop="top"+iCount.ToString();}stringsql="select"+strTop+"*from[F_Money]";SqlConnectioncon=newSqlConnection(SqlHelper.connstring);SqlCommandcmd=newSqlCommand(sql,con);SqlDataAdapterda=newSqlDataAdapter(cmd);DataSetds=null;try{con.Open();ds=newDataSet();da.Fill(ds);}catch(SqlExceptionex){throwex;}catch(Exceptionex){throwex;}finally{con.Close();}returnds;}privatevoidDisableControls(Controlgv){LinkButtonlb=newLinkButton();Literall=newLiteral();stringname=String.Empty;for(inti=0;i<gv.Controls.Count;i++){if(gv.Controls[i].GetType()==typeof(LinkButton)){l.Text=(gv.Controls[i]asLinkButton).Text;gv.Controls.Remove(gv.Controls[i]);gv.Controls.AddAt(i,l);}elseif(gv.Controls[i].GetType()==typeof(DropDownList)){l.Text=(gv.Controls[i]asDropDownList).SelectedItem.Text;gv.Controls.Remove(gv.Controls[i]);gv.Controls.AddAt(i,l);}if(gv.Controls[i].HasControls()){DisableControls(gv.Controls[i]);}}}publicoverridevoidVerifyRenderingInServerForm(Controlcontrol){}protectedvoidButton1_Click(objectsender,EventArgse){DisableControls(gvFilms);Response.ClearContent();Response.AddHeader("content-disposition","attachment;filename=MyExcelFile.xls");Response.ContentType="application/excel";StringWritersw=newStringWriter();HtmlTextWriterhtw=newHtmlTextWriter(sw);gvFilms.RenderControl(htw);Response.Write(sw.ToString());Response.End();}第5章系統(tǒng)調(diào)試與測(cè)試程序調(diào)試在設(shè)計(jì)系統(tǒng)的過程中,存在一些錯(cuò)誤是必然的。對(duì)于語(yǔ)句的語(yǔ)法錯(cuò)誤,在程序運(yùn)行時(shí)自動(dòng)提示,并請(qǐng)求立即糾正,因此,這類錯(cuò)誤比較容易發(fā)現(xiàn)和糾正。但另一類錯(cuò)誤是在程序執(zhí)行時(shí)由于不正確的操作或?qū)δ承?shù)據(jù)的計(jì)算公式的邏輯錯(cuò)誤導(dǎo)致的錯(cuò)誤結(jié)果。這類錯(cuò)誤隱蔽性強(qiáng),有時(shí)會(huì)出現(xiàn),有時(shí)又不出現(xiàn),因此,對(duì)這一類動(dòng)態(tài)發(fā)生的錯(cuò)誤的排查是耗時(shí)費(fèi)力的。程序的測(cè)試5.2.1測(cè)試的重要性及目的(1)測(cè)試的重要性軟件的測(cè)試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測(cè)試學(xué)僅處于運(yùn)行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來,軟件工程界趨向于一種新的觀點(diǎn),即認(rèn)為軟件生命周期每一階段中都應(yīng)包含測(cè)試,從而檢驗(yàn)本階段的成果是否接近預(yù)期的目標(biāo),盡可能早的發(fā)現(xiàn)錯(cuò)誤并加以修正,如果不在早期階段進(jìn)行測(cè)試,錯(cuò)誤的延時(shí)擴(kuò)散常常會(huì)導(dǎo)致最后成品測(cè)試的巨大困難。事實(shí)上,對(duì)于軟件來講,不論采用什么技術(shù)和什么方法,軟件中仍然會(huì)有錯(cuò)。采用新的語(yǔ)言、先進(jìn)的開發(fā)方式、完善的開發(fā)過程,可以減少錯(cuò)誤的引入,但是不可能完全杜絕軟件中的錯(cuò)誤,這些引入的錯(cuò)誤需要測(cè)試來找出,軟件中的錯(cuò)誤密度也需要測(cè)試來進(jìn)行估計(jì)。測(cè)試是所有工程學(xué)科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設(shè)計(jì)的那天起測(cè)試就一直伴隨著。統(tǒng)計(jì)表明,在典型的軟件開發(fā)項(xiàng)目中,軟件測(cè)試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總成本中,用在測(cè)試上的開銷要占30%到50%。如果把維護(hù)階段也考慮在內(nèi),討論整個(gè)軟件生存期時(shí),測(cè)試的成本比例也許會(huì)有所降低,但實(shí)際上維護(hù)工作相當(dāng)于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測(cè)試工作。在實(shí)踐中,軟件測(cè)試的困難常常使人望而卻步或敷衍了事,這是由于對(duì)測(cè)試仍然存在一些不正確的看法和錯(cuò)誤的態(tài)度,這包括:①認(rèn)為測(cè)試工作不如設(shè)計(jì)和編碼那樣容易取得進(jìn)展難以給測(cè)試人員某種成就感;②以發(fā)現(xiàn)軟件錯(cuò)誤為目標(biāo)的測(cè)試是非建設(shè)性的,甚至是破壞性的,測(cè)試中發(fā)現(xiàn)錯(cuò)位是對(duì)責(zé)任者工作的一種否定;③測(cè)試工作枯燥無(wú)味,不能引起人們的興趣;④測(cè)試工作是艱苦而細(xì)致的工作;⑤對(duì)自己編寫的程序盲目自信,在發(fā)現(xiàn)錯(cuò)誤后,顧慮別人對(duì)自己的開發(fā)能力的看法。這些觀點(diǎn)對(duì)軟件測(cè)試工作是極為不利的,必須澄清認(rèn)識(shí)、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。(2)測(cè)試的目的如果測(cè)試的目的是為了盡可能多地找出錯(cuò)誤,那么測(cè)試就應(yīng)該直接針對(duì)軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置。①軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;②測(cè)試是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò)誤;③一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;④一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。這種觀點(diǎn)可以提醒人們測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點(diǎn)可能會(huì)產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測(cè)試的唯一目,查找不出錯(cuò)誤的測(cè)試就是沒有價(jià)值的,事實(shí)并非如此。首先,測(cè)試并不僅僅是為了要找出錯(cuò)誤。通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們?cè)O(shè)計(jì)出有針對(duì)性地檢測(cè)方法,改善測(cè)試的有效性。其次,沒有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定測(cè)試質(zhì)量的一種方法。5.2.2測(cè)試過程及結(jié)果如表5-1所示表5-1測(cè)試用例表測(cè)試模塊操作步驟預(yù)期結(jié)果實(shí)際結(jié)果登錄模塊進(jìn)入登入界面輸入用戶名密碼例如(張三,123)成功登入出現(xiàn)提示“帳號(hào)或者密碼不對(duì)請(qǐng)重新登錄”登錄模塊進(jìn)入登入界面輸入用戶名密碼例如(張三,1)成功登入登錄成功登錄模塊進(jìn)入登入界面輸入用戶名密碼例如(李四,2)成功登錄登錄成功收入管理模塊進(jìn)入收入管理,點(diǎn)擊新增,選擇項(xiàng)目工資,選擇收支類型收入,輸入金額1000,最后確定成功保存并且錄入賬本錄入賬本中,并且成功在收支項(xiàng)目中顯示支出管理模塊進(jìn)入支出管理,點(diǎn)擊新增,選擇項(xiàng)目購(gòu)物,選擇收支類型收入,輸入金額100,輸入備注零食,最后確定成功保存并且錄入賬本錄入賬本中,并且成功在收支項(xiàng)目中顯示家庭成員管理模塊進(jìn)入家庭成員管理,點(diǎn)擊新增,真實(shí)姓名輸入LOUIS,用戶名輸入louis,輸入密碼123,確認(rèn)密碼123成功添加新的家庭成員LOUIS在家庭成員管理界面顯示新成員LOUIS續(xù)表5-1家庭成員管理模塊進(jìn)入家庭成員管理,點(diǎn)擊修改,真實(shí)姓名LOUIS改為L(zhǎng)ouis,用戶名louis不變,輸入密碼123,確認(rèn)密碼123成功修改家庭成員LOUIS的名字為L(zhǎng)ouis在家庭成員管理界面顯示Louis收支項(xiàng)目管理模塊進(jìn)去收支項(xiàng)目管理,點(diǎn)擊灰色收入后面的刪除成功刪除收支項(xiàng)目灰色收入收支項(xiàng)目欄中成功刪除了灰色收入項(xiàng)目收支統(tǒng)計(jì)模塊進(jìn)入收支統(tǒng)計(jì)模塊,顯示以前錄入的所有收支模塊的信息顯示以前錄入的所有收支模塊的信息顯示完全,沒有以后錯(cuò)誤收支管理模塊進(jìn)入支出模塊,點(diǎn)擊查找,選擇初試日期2010-05-01,再選擇結(jié)束日期2010-05-31,最后點(diǎn)擊確認(rèn)顯示出2010-05-06入賬的將于費(fèi)用支出。顯示出2010-05-06入賬的將于費(fèi)用支出。數(shù)據(jù)庫(kù)備份模塊進(jìn)入數(shù)據(jù)庫(kù)備份,點(diǎn)擊數(shù)據(jù)庫(kù)備份,點(diǎn)擊路徑進(jìn)行保存把數(shù)據(jù)備份保存到桌面成功保存數(shù)據(jù)庫(kù)備份文檔在桌面第6章總結(jié)與展望通過這次畢業(yè)設(shè)計(jì),我大致了解了進(jìn)行軟件開發(fā)工作的基本過程,并且從中獲得了許多實(shí)際的、有意義的知識(shí),其中我對(duì)以下幾點(diǎn)有深刻的體會(huì):(一)編程中定義窗體及變量的名稱時(shí),一定要規(guī)范,要讓其他編程人員能夠看懂,必要時(shí)可以加注釋。(二)對(duì)各個(gè)控件的屬性、事件要了解清楚,這樣才能在編程的過程中熟練的應(yīng)用。(三)在編程的過程中要不斷的思考,對(duì)每一個(gè)可能出現(xiàn)的問題都盡量在編程中處理掉,避免以后的麻煩。(四)對(duì)編程中用到的函數(shù),要將其變量的含義了解清楚,這樣才能順利應(yīng)用,以實(shí)現(xiàn)函數(shù)的功能。(五)程序編好后調(diào)試是非常重要的,它的意義在于通過調(diào)試可以逐步完善它的功能,改正程序中的錯(cuò)誤,使程序盡量達(dá)到盡善盡美,在調(diào)試的過程中盡量不要以編程時(shí)的思想去調(diào)試,要以一個(gè)普通用戶的思維去思考。結(jié)論經(jīng)過這一個(gè)月來對(duì)系統(tǒng)的分析、設(shè)計(jì),使我對(duì)基于WEB的家庭財(cái)務(wù)管理系統(tǒng)有了全面的了解與認(rèn)識(shí),同時(shí)對(duì)基于WEB的藥品流通管理系統(tǒng)做了具體的解剖。我認(rèn)為基于WEB的家庭財(cái)務(wù)管理系統(tǒng)成功的關(guān)鍵在于以下幾方面:導(dǎo)航界面的清晰,簡(jiǎn)單設(shè)計(jì)。界面的清晰簡(jiǎn)單可以使學(xué)習(xí)用戶一目了然,輕松的找到自己瀏覽本系統(tǒng)的目的所在。不需要在花費(fèi)大量時(shí)間來尋找本系統(tǒng)的內(nèi)容,浪費(fèi)用戶時(shí)間,甚至打消用戶的積極性。系統(tǒng)的易管理性。系統(tǒng)的管理對(duì)于系統(tǒng)的維護(hù)來說很重要,社會(huì)是不斷進(jìn)步與發(fā)展的,用戶對(duì)于網(wǎng)上娛樂的要求也會(huì)越來越高。因此系統(tǒng)要隨著用戶的需求而不斷發(fā)生變化,不斷更新系統(tǒng)的內(nèi)容來滿足用戶更多的需求。本系統(tǒng)是利用ASP.Net2.0編程語(yǔ)言和SQLServer數(shù)據(jù)庫(kù)編譯設(shè)計(jì)的,運(yùn)行環(huán)境簡(jiǎn)單,一般的瀏覽器都可進(jìn)行瀏覽。本系統(tǒng)的大部分模塊已經(jīng)實(shí)現(xiàn),并且也符合以上幾個(gè)特性。但是,一個(gè)完整的系統(tǒng)僅僅靠?jī)稍碌姆治?、設(shè)計(jì)來開發(fā)是遠(yuǎn)遠(yuǎn)不夠的,它需要更長(zhǎng)的時(shí)間來測(cè)試并完善。因此,本系統(tǒng)仍然存在著一些需要改進(jìn)和不足的問題。比如系統(tǒng)的整體設(shè)計(jì)需要進(jìn)一步的美觀,系統(tǒng)的自適應(yīng)性還不夠完善還需要進(jìn)一步的改善和加強(qiáng),系統(tǒng)的內(nèi)容需要更加豐富和多樣化。隨著研究的進(jìn)行,可能還會(huì)出現(xiàn)其他一些問題,我會(huì)繼續(xù)努力,逐步改善和不斷完善本系統(tǒng)。致謝在本次畢業(yè)論文過程中,得到了指導(dǎo)老師的指導(dǎo)與支持。在此特別感謝指導(dǎo)老師的大力幫助。指導(dǎo)老師的悉心指導(dǎo)和大力支持,在總體結(jié)構(gòu)、功能的把握上給予了非常大的幫助,同時(shí)根我們提供了非常優(yōu)越的設(shè)計(jì)環(huán)境,并對(duì)我在編程、數(shù)據(jù)庫(kù)設(shè)計(jì)等細(xì)節(jié)工作上給予了耐心的指導(dǎo),對(duì)于我順利完成這次畢業(yè)論文起到了關(guān)鍵性的作用。我還要感謝我的母校,以及給予我關(guān)心和幫助的老師和同學(xué),是他們教會(huì)了我專業(yè)的知識(shí)和做人的道理。通過這次畢業(yè)論文我還明白了作為一名計(jì)算機(jī)專業(yè)的大學(xué)畢業(yè)生,我們要會(huì)的不僅僅是編寫代碼,更重要的是要有整體把握系統(tǒng)設(shè)計(jì)的能力。我會(huì)在以后的工作和學(xué)習(xí)中不斷完善自己,為我熱愛的母校爭(zhēng)光,為自己翻開輝煌的新篇章。參考文獻(xiàn)屈喜龍,朱杰等.ASP+SQLSERVER開發(fā)動(dòng)態(tài)網(wǎng)站實(shí)例薈粹[M].北京:機(jī)械出版社,2006.李明剛.ASP.NETWeb站點(diǎn)高級(jí)編程范例[M].清華大學(xué)出版社第五事業(yè)部曹衍龍.ASP/ASP.NET數(shù)據(jù)庫(kù)開發(fā)實(shí)用工程案例精選[M].北京:清華大學(xué)出版社,2004.何光明.C語(yǔ)言實(shí)用培訓(xùn)教程[M].北京:人民郵電出版社,2003.VisualC#.NETWeb應(yīng)用程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.1陳恩義.MichaelOtey,PaulConte[英].SQLServer2000開發(fā)指南[M].北京:清華大學(xué)出版社,2004.DreamweaverMX2004完全征服手冊(cè)[M].北京;中國(guó)青年出版社,2004.呂靜驊史進(jìn).DusanPetkovic[美].SQLServer2000基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2001李萬(wàn)寶.ASP.NET技術(shù)詳解與應(yīng)用實(shí)例[M].北京:機(jī)械工業(yè)出版社,2005.DouglasJ.Reilly.DesignMicrosoftapplication[M].北京:清華大學(xué)出版社,2001.MesbahAhmed,ChrisGarrett,JeremyFaircloth,ChrisPayne.DesignMicrosoftapplication[M].SyngressPublishing,Inc,2002.MartinKalin.面向?qū)ο蟪绦蛟O(shè)計(jì)C++語(yǔ)言描述.北京:機(jī)械工業(yè)出版社,2003.附錄A譯文.NETCompactFramework2.0中的新事物介紹.NETCompactFramework2.0版在以前版本——.NETCompactFramework1.0版——上提供許多改善。雖然普遍改善,但他們都集中在共同的目標(biāo)——改進(jìn)開發(fā)商生產(chǎn)力、以完整的.NETFramwork提供更強(qiáng)的兼容性,以及加大對(duì)設(shè)備特性的支持。這篇文章提供一個(gè).NETCompactFramework2.0的變動(dòng)和改進(jìn)的高水平的概要。用戶界面相關(guān)的靈活的設(shè)備顯示器的小尺寸要求:應(yīng)用程序高效率地使用可用空間。這在過去是要求開發(fā)商花費(fèi)很多時(shí)間來設(shè)計(jì)和實(shí)施應(yīng)用的用戶界面。最近的在靈活的顯示能力方面的進(jìn)步,譬如高分辨率和多方位支持,使得用戶界面發(fā)展的工作更具挑戰(zhàn)性。為了簡(jiǎn)化創(chuàng)造應(yīng)用用戶界面的任務(wù),.NETCompactFramework2.0提供許多關(guān)于這方面描述的新特性。窗口形式控制存在于用戶界面中心的是控制;.NETCompactFramework2.0提供了很多新的控制。這些新控制由除了特別針對(duì)設(shè)備之外的控制組成。這種控制是.NETCompactFramework有的與.NETFramework一樣充分的控制。MonthCalendarMonthCalendar控制是提供日期顯示的可定制的日歷控制,而且是有利于為用戶提供一個(gè)圖解方式來精選日期。DateTimePickerDateTimePicker控制是為顯示和允許用戶進(jìn)入日期和時(shí)間信息的可定制的控制。由于它的一個(gè)緊湊顯示和圖解日期選擇格式的組合,它特別適用于靈活的設(shè)備應(yīng)用程序。當(dāng)顯示信息時(shí),DateTimePicker控制與正文框相似;但是,當(dāng)用戶選擇了一個(gè)日期,可能顯示一個(gè)類似于MonthCalendar控制的彈出日歷。WebBrowserWebBrowser控制壓縮了設(shè)備Web瀏覽器,并且提供強(qiáng)大的顯示能力和暴露很多事件。這些事件除了允許你的應(yīng)用程序提供對(duì)于這些事件的用戶化的行為,還允許你的應(yīng)用程序追蹤用戶與Web瀏覽器內(nèi)容的互動(dòng)。NotificationNotification控制壓縮了袖珍版?zhèn)€人電腦的通知特性,就是允許應(yīng)用程序寄給用戶一個(gè)沒有改變用戶當(dāng)前活動(dòng)的上下文的通知。通知文本可以是純文本或HTML。除顯示信息之外,通知可以通過包含在通知的HTML文本中的HTML按鈕和鏈接來接受用戶的輸入。DocumentListDocumentList控制為顯示和處理文件提供一個(gè)標(biāo)準(zhǔn)的機(jī)制,譬如當(dāng)打開ExcelMobileandWordMobile中的使用的文件。DocumentList控制提供給用戶操縱文件系統(tǒng)以及刪除、復(fù)制、行動(dòng)和重命名的能力。用戶也可以用DocumentList控制通過紅外線發(fā)送電子郵件和發(fā)送文件到其它設(shè)備。Smartphone中的DataGridSmartphone現(xiàn)在支持DataGrid控制。就像袖珍個(gè)人電腦,Smartphone中的DataGrid控制支持構(gòu)形的大小、多種顯示形式、數(shù)據(jù)捆綁、空值處理和跟蹤用戶單元選擇的事件。LinkLabelLinkLabel控制是一個(gè)能顯示一個(gè)或更多超鏈接的標(biāo)簽控制。SplitterSplitter控制是一個(gè)提供恢復(fù)相接控制的能力的分離欄。ToolBarToolBar控制是能將圖像以按鈕形式顯示的Windows工具欄。用戶控制.NETCompactFramework2.0現(xiàn)在支持用戶控制。增加用戶控制的同時(shí),.NET

Compact

Framework

2.0應(yīng)用程序現(xiàn)在可以用VisualStudio2005圖像化地創(chuàng)建控制,并且,就如完整的.NETFramework一樣,.NETCompactFramework2.0的用戶控制自動(dòng)在控制工具箱出現(xiàn),而且可以用拖放安置在窗體上。顯示和布局管理現(xiàn)在可用的WindowsMobile窗體因素的廣泛多樣性,要求應(yīng)用程序開發(fā)者開發(fā)應(yīng)用程序用戶界面比以前更動(dòng)態(tài)化。為了簡(jiǎn)化創(chuàng)造動(dòng)態(tài)用戶界面的任務(wù),.NETCompactFramework2.0提供許多新布局和管理特性??刂葡嘟?NETCompactFramework2.0控制現(xiàn)在支持相接。相接一個(gè)控制設(shè)置它與雙親控制的邊緣相反,即填充邊緣。因?yàn)殡p親控制調(diào)整尺寸,相接控制自動(dòng)調(diào)整尺寸來填充雙親控制指定的邊緣。控制也可以相接填裝整個(gè)雙親。控制停滯.NETCompactFramework2.0控制也支持停滯。停滯控制識(shí)別,即控制的一邊或多邊應(yīng)該依然是與對(duì)應(yīng)的邊緣或雙親控制的邊緣保持的一個(gè)固定距離。因?yàn)殡p親控制調(diào)整尺寸,控制自動(dòng)地調(diào)整尺寸,因此控制的停滯的一邊依然是與雙親控制的對(duì)應(yīng)的邊緣保持的適當(dāng)?shù)木嚯x。自動(dòng)卷曲FormandPanel控制——除了繼承于ScrollableControl控制的其他控制——現(xiàn)在提供AutoScroll屬性。當(dāng)設(shè)置為真,控制自動(dòng)地提供一個(gè)卷曲欄來允許用戶卷曲到任一個(gè)在控制可視范圍之外的孩子控制。自動(dòng)縮放比例所有ContainerControl起源的控制,譬如Form控制,現(xiàn)在提供AutoScaleMode屬性。AutoScaleMode屬性指出當(dāng)控制在一個(gè)不同于最初它設(shè)計(jì)的決議上顯示時(shí),控制應(yīng)該如何反映。當(dāng)設(shè)置為AutoScrollMode.Dpi時(shí),容器控制的所有孩子控制相應(yīng)地與執(zhí)行時(shí)間的顯示決議相匹配。AutoScaleMode.None的值表明縮放比例不會(huì)自動(dòng)完成,這樣就使應(yīng)用程序有責(zé)任在不同的決議上準(zhǔn)確地提出。SuspendLayout和ResumeLayout.NETCompactFramework2.0Control類現(xiàn)在支持SuspendLayout和ResumeLayout方法。就像在完整的.NETFramework中一樣,這些方法在與一個(gè)異于聚集布局事件關(guān)聯(lián),譬如改變一系列的孩子控制的位置或調(diào)整它們的尺寸。GraphicsDpiX和DpiY屬性現(xiàn)在,Graphics類提供關(guān)于當(dāng)前設(shè)備顯示的決議的信息。DpiX屬性顯示水平的每英寸像素的數(shù)量,而且DpiY屬性顯示垂直的每英寸像素的數(shù)量。自定義圖畫為了簡(jiǎn)化豐富的用戶界面的創(chuàng)作,.NETCompactFramework2.0增加了很多特性。這些特性允許應(yīng)用程序更加容易運(yùn)用自定義圖畫??尚D(zhuǎn)的字體LogFont類添加到.NETCompactFramework2.0為在為在一個(gè)角度顯示文本提供支持,以及為合并其他文本作用提供支持。自定義筆現(xiàn)在,應(yīng)用程序可以創(chuàng)造具體顏色和大小的筆。位圖.NETCompactFramework2.0為用位圖工作提供改進(jìn)。這種改進(jìn)包括:當(dāng)創(chuàng)建位圖和有能力將一個(gè)位圖保存到一個(gè)文件或流時(shí),提供更多的選擇。應(yīng)用程序可以運(yùn)用新加入的BitmapData類,通過LockBits和UnlockBits方法的聯(lián)合更加容易觀察和操作位圖。因?yàn)閼?yīng)用程序需要在被處理的和自身的代碼之間分享位圖,現(xiàn)在,你可以通過GetHbitmap方法檢索一個(gè)自身位圖對(duì)象的句柄。DirectXWindows

Mobile

5.0軟件通過執(zhí)行DirectX應(yīng)用程序設(shè)計(jì)界面(APIs)包含二維和三維的圖畫特性。因?yàn)?NET

Compact

Framework

2.0的開發(fā)商——瞄準(zhǔn)Windows

Mobile

5.0基礎(chǔ)設(shè)備的人,DirectX特性集有能力貫穿包含在“Microsoft.Windows.DirectX”命名域中的類和對(duì)應(yīng)的匯編。鍵盤管理現(xiàn)在,靈活的設(shè)備的一個(gè)增長(zhǎng)數(shù)字包括鍵盤。為了允許管理開發(fā)商利用可利用的鍵盤,.NETCompactFramework2.0為鍵盤提供改進(jìn)的支持。注:在這部分提及的一些特性被作為一部分加到.NETCompactFramework1.0服務(wù)包,但在這里提它們,大家就肯定知道它們也是可用的。制表符支持現(xiàn)在,控制支持制表符命令以允許應(yīng)用程序用戶通過按制表符鍵在控制之間切換。KeyboardEvents和Form.KeyPreview現(xiàn)在,控制接受KeyUp、KeyDown和KeyPress事件。此外,現(xiàn)在,F(xiàn)orm控制提供KeyPreview屬性。當(dāng)設(shè)置為假,keyboard事件就會(huì)被直接發(fā)到控制。當(dāng)KeyPreview被設(shè)置為真,所有keyboard事件就會(huì)被發(fā)到Form實(shí)例以等待被發(fā)送到當(dāng)前聚焦的控制。通過在Form實(shí)例的對(duì)應(yīng)的事件處理設(shè)置KeyPressEventArgs屬性為真,F(xiàn)orm實(shí)例可以防止事件以焦點(diǎn)被送到控制。數(shù)據(jù)當(dāng)然,數(shù)據(jù)是任一個(gè)應(yīng)用程序的重要部份。不管有無(wú)關(guān)系,針對(duì)數(shù)據(jù)的類在必需訪問和運(yùn)作以數(shù)據(jù)編程的努力上的水平有直接效應(yīng)。.NETCompactFramework2.0除了為現(xiàn)存的類提供新特性,還提供很多新數(shù)據(jù)類。Updatable,ScrollableAccesstoSQL

Server

2005MobileEdition.NETCompactFramework2.0為進(jìn)入SQL

Server

2005MobileEdition(SQL

Mobile)數(shù)據(jù)庫(kù)——SqlCeResultSet提供新類。新的SqlCeResultSet類提供卷曲和可更新的直接存取SQLMobile數(shù)據(jù)庫(kù)。這個(gè)存取為存取SQLMobile數(shù)據(jù)提供一種比DatasSet類更加快速和更加資源高效率的解決方案。和DataSet類一樣,SqlCeResultSet可以作為數(shù)據(jù)綁定資源使用。DataSetDataSet類和相關(guān)的類提供很多新特性。這些特性不僅提供改進(jìn)的功能而且?guī)?NETCompactFramework的DataSet類與整個(gè).NET

Framework更多協(xié)調(diào)。GetChanges和MergeMethods.NETCompactFramework2.0將GetChanges和Merge方法增加到DataSet類。GetChanges方法返回一個(gè)包含所有自從最后訪問AcceptChanges之后的所有變動(dòng)的DataSet的副本。返回的DataSet優(yōu)化為合并。DataSet方法將DataSet合并到另一個(gè)里。它對(duì)于將變動(dòng)從一個(gè)由一個(gè)GetChanges方法返回的DataSet合并到另一個(gè)特別有用。Copy方法現(xiàn)在,.NETCompactFramework的DataSet類提供Copy方法。Copy方法返回包含與原物相同的結(jié)構(gòu)和數(shù)據(jù)的新DataSet。DataTablesSerialization現(xiàn)在,DataTable類提供WriteXml和ReadXml方法。這些方法提供各自的表的XML連載和非連載。而且,連載和非連載的支持的結(jié)合允許DataTables作為Web服務(wù)論點(diǎn)而通過。XML.NETCompactFramework2.0對(duì)于與XML相關(guān)類提供了很多改進(jìn)。這些改進(jìn)不僅簡(jiǎn)化運(yùn)用XML數(shù)據(jù)運(yùn)作的進(jìn)程,而且給.NETCompactFramework中XML相關(guān)類帶來更多與那些在整個(gè).NET

Framework中可用的資源的協(xié)調(diào)。XPath支持現(xiàn)在,XmlDocument類支持SelectSingleNode和SelectNodes方法——二者都是提供用XPath搜索文檔的能力。XML連載.NETCompactFramework2.0與相關(guān)屬性類一起增加XmlSerializer類,譬如XmlElement和XmlAttribute。用XmlSerialize

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論