家庭理財(cái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
家庭理財(cái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
家庭理財(cái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
家庭理財(cái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
家庭理財(cái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、分類號:分類號:tp315tp315 u u d d c c:d10621-408-(2007)6103-0d10621-408-(2007)6103-0 密密 級:公級:公 開開 編編 號:號:20030311732003031173 成成 都都 信信 息息 工工 程程 學(xué)學(xué) 院院 學(xué)學(xué) 位位 論論 文文 家庭理財(cái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)家庭理財(cái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 論文作者姓名:論文作者姓名:易帆易帆 申請學(xué)位專業(yè):申請學(xué)位專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù) 申請學(xué)位類別:申請學(xué)位類別:工工學(xué)學(xué)學(xué)學(xué)士士 指指導(dǎo)導(dǎo)教教師師姓姓名名(職職稱稱) : 吳四九(副教授)吳四九(副教授) 論文提交日期:論文

2、提交日期: 20072007 年年 0606 月月 0404 日日 家庭理財(cái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)家庭理財(cái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 摘摘 要要 全球經(jīng)濟(jì)的蓬勃發(fā)展帶來了金融理財(cái)領(lǐng)域的巨大變革和創(chuàng)新,新的金融工 具和理財(cái)觀點(diǎn)不斷產(chǎn)生,迅速地刷新著家庭與個(gè)人傳統(tǒng)的理財(cái)觀念。改革開放 以來,我國社會經(jīng)濟(jì)的發(fā)展和居民收入水平得到了很大的提高,家庭理財(cái)活動 已成為居民生活的重要內(nèi)容。人們迫切需要一個(gè)能充分利用計(jì)算機(jī)優(yōu)勢,并可 以管理家庭財(cái)務(wù)的軟件平臺,利用這個(gè)平臺使得個(gè)人的財(cái)務(wù)有了明晰的收支情 況的系統(tǒng)。 家庭理財(cái)系統(tǒng)采用 vs2005 作為開發(fā)工具,采用 sql server 2000 開發(fā)后 臺數(shù)據(jù)庫。主要包含了

3、用戶登錄模塊、用戶管理模塊、數(shù)據(jù)庫備份模塊、收入 模塊、支出模塊、密碼管理模塊、帳目統(tǒng)計(jì)模塊、報(bào)表輸出模塊以及查詢模塊。 用戶能夠通過這些模塊所提供的功能,完成相應(yīng)的操作,滿足家庭內(nèi)部對家庭 理財(cái)需求。 關(guān)鍵詞:關(guān)鍵詞:家庭理財(cái);收入;支出;查詢;vs2005;數(shù)據(jù)庫;模塊 design and implementation of family financial management system abstract the flourish development of the global economy has brought great transform and innovation

4、 of financial transactions, new financial instruments and financial perspectives are evolving rapidly to surpass the traditional family and personal financial management concepts in china. since the 1980s last century, with the development of chinas economy, chinese peoples income level has been gre

5、atly improved. family financial management has become an important part of chinese peoples life. there was an urgent need to use all the advantages of the computer, which can manage family finances system, which can clearly reflect individuals financial conditions. this system uses vs2005 as a devel

6、opment tool, sql server 2000 database development background. it contains the user landing module, user information management module, database backup module, income module, output management module, user password management module, accounts statistics module, report forms export module and inquire

7、module. system users can be satisfied by the system, which can meet the internal management of the family financial management needs through these modules and the functions in the system. key words: family financial management; income; payout; inquire; vs2005; database; module 目目 錄錄 論文總頁數(shù):20 頁 1 引言.

8、1 1.1 課題背景.1 1.2 國內(nèi)外研究的現(xiàn)狀.1 1.3 本課題研究的意義.1 1.4 本課題的研究方法.1 2 可行性研究.2 2.1 技術(shù)可行性.2 2.2 經(jīng)濟(jì)可行性.2 2.3 操作上的可行性.3 3 系統(tǒng)需求分析.3 3.1 系統(tǒng)功能需求分析.3 3.2 數(shù)據(jù)流圖.4 3.3 系統(tǒng)數(shù)據(jù)庫表設(shè)計(jì).5 3.3.1 用戶表(userinfo).5 3.3.2 用戶信息表(usermessage).5 3.3.3 收入類型表 (classinputchashtable).5 3.3.4 支出類型表(classoutputchashtable) .5 3.3.5 收入表(inputcha

9、shtable).6 3.3.6 成員登錄信息表(membername) .6 3.3.7 支出表(outputchashtable) .6 4 系統(tǒng)功能的設(shè)計(jì)與實(shí)現(xiàn).6 4.1 系統(tǒng)登錄界面的設(shè)計(jì).7 4.1.1 登錄界面.7 4.1.2 登錄功能的實(shí)現(xiàn).7 4.2 用戶信息管理模塊的設(shè)計(jì).8 4.3 密碼管理模塊的設(shè)計(jì).9 4.4 數(shù)據(jù)庫備份模塊的設(shè)計(jì).10 4.5 收入模塊的設(shè)計(jì).11 4.5.1 添加收入記錄.12 4.5.2 刪除收入記錄.12 4.6 支出模塊的設(shè)計(jì).13 4.6.1 添加支出記錄.14 4.6.2 刪除支出記錄.14 4.7 帳目統(tǒng)計(jì)模塊的設(shè)計(jì).14 4.8 查詢

10、模塊的設(shè)計(jì).15 4.9 報(bào)表輸出模塊的設(shè)計(jì).17 5 系統(tǒng)測試結(jié)果.17 結(jié) 論.18 參考文獻(xiàn).18 致 謝.19 聲 明.20 1 1 引言引言 1.11.1 課題背景課題背景 家庭理財(cái)系統(tǒng),即 family conduct financial transactions system。它利用計(jì) 算機(jī)技術(shù)技術(shù),使家庭理財(cái)逐步信息化,從而形成由家庭成員與計(jì)算機(jī)共同構(gòu) 成服務(wù)于家庭的人機(jī)信息財(cái)務(wù)管理系統(tǒng)。隨著計(jì)算機(jī)發(fā)展,家庭理財(cái)系統(tǒng)已經(jīng) 成為很多家庭財(cái)務(wù)管理的一個(gè)重要途徑。計(jì)算機(jī)的最大優(yōu)點(diǎn)在于利用它能夠高 效準(zhǔn)確地進(jìn)行財(cái)務(wù)信息管理。使用計(jì)算機(jī)進(jìn)行信息財(cái)務(wù)管理,不僅提高了工作 效率,而且大大的提

11、高了其安全性。 1.21.2 國內(nèi)外研究的現(xiàn)狀國內(nèi)外研究的現(xiàn)狀 家庭理財(cái)系統(tǒng)在國外很多地方使用已經(jīng)相當(dāng)?shù)钠毡?,而且國外的家庭理?cái) 系統(tǒng)功能相當(dāng)強(qiáng)大,比如系統(tǒng)里包含有股票的預(yù)測、基金的分析等等。在我們 國內(nèi),尤其是在近幾年,伴隨著計(jì)算機(jī)的高速普及,家庭理財(cái)系統(tǒng)的使用范圍 逐步擴(kuò)大,從最早的簡單使用紙筆記錄家庭、個(gè)人財(cái)務(wù)的收支情況,到現(xiàn)在用 計(jì)算機(jī)對財(cái)務(wù)的收支、查詢、匯總等等。巨大的市場需求也促使了很多公司加 大了對家庭理財(cái)系統(tǒng)的研究。 1.31.3 本課題研究的意義本課題研究的意義 多年以來人們都使用傳統(tǒng)的人工方式記錄和管理家庭或自己財(cái)務(wù)情況。這 種管理和記錄方式不僅不便于長期保存,也存在著不可

12、避免的缺點(diǎn),如效率太 低、保密性太差。時(shí)間一長,伴隨著居民收入水平的提高和居民各種消費(fèi)和收 入的多樣性,家庭理財(cái)所需要管理的信息就會越來越多,就會產(chǎn)生大量的文件 和數(shù)據(jù),這樣就會對查閱、更新、保存等方面都產(chǎn)生不少的困難。隨著科學(xué)技 術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已逐漸被人們認(rèn)識并掌握。 如果使用計(jì)算機(jī)對家庭理財(cái)信息進(jìn)行管理具有傳統(tǒng)的手工管理所沒法比擬的優(yōu) 點(diǎn)。例如:統(tǒng)計(jì)方便、查找容易、可靠性高、保密性好、更新方便等。這些優(yōu) 點(diǎn)能夠極大地提高家庭理財(cái)信息管理的效率,大大降低居民在信息管理精力上 的投入,使企業(yè)獲得更大的利潤空間。因此,開發(fā)一個(gè)能夠管理家庭內(nèi)部各種 財(cái)務(wù)信息的家庭理

13、財(cái)管理系統(tǒng)是一件十分必要的事情。 1.41.4 本課題的研究方法本課題的研究方法 家庭理財(cái)系統(tǒng)的用戶群體是家庭內(nèi)部成員,用戶類型單一,因此將本系統(tǒng) 設(shè)計(jì)成一個(gè)相對封閉的單機(jī)運(yùn)行系統(tǒng)結(jié)合居民管理信息方面的具體需求,利用 vs2005 作為前臺開發(fā)工具,使用 sql server 2000 作為數(shù)據(jù)庫。結(jié)合數(shù)據(jù)庫 原理及應(yīng)用、軟件工程開發(fā)方法,在經(jīng)過深入地學(xué)習(xí)之后,開發(fā)了這套家庭理 財(cái)管理系統(tǒng)。下面將具體介紹系統(tǒng)的開發(fā)過程: 2 2 可行性研究可行性研究 2.12.1 技術(shù)可行性技術(shù)可行性 本系統(tǒng)的開發(fā)利用 vs2005 作為開發(fā)工具。vs2005 是一個(gè)具有完善開發(fā)工 具的平臺。vs2005 提

14、供的工具適合各種水平層次無論是初學(xué)者還是有經(jīng)驗(yàn)的團(tuán) 隊(duì),并適合各種不同的開發(fā)需求。降低了開發(fā)的復(fù)雜度,其提供給開發(fā)者更加 簡便動態(tài)的.net framework 基礎(chǔ)解決方案,其中包括了 windows 應(yīng)用程序開發(fā)、 office 嵌入開發(fā)、web 應(yīng)用開發(fā)、移動應(yīng)用程序開發(fā)。改進(jìn)了團(tuán)隊(duì)交流方式, vs2005 為團(tuán)隊(duì)開發(fā)提供通道和完整的開發(fā)周期工具,從而增加了團(tuán)隊(duì)內(nèi)部的交 流與協(xié)作的效率。通過學(xué)習(xí),熟悉和掌握 vb.net 的使用方法,使用 vs2005 作為開發(fā)工具將使整個(gè)系統(tǒng)的模塊化設(shè)計(jì)變得更加簡便。 系統(tǒng)采用 sql server 2000 作為開發(fā)數(shù)據(jù)庫。sql server 20

15、00 是一種 客戶機(jī)/服務(wù)器結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。sql server 2000 提供了許多易 于使用的圖形化工具和向?qū)?,其中最常用的是服?wù)管理器、企業(yè)管理器和查詢 分析器。它們?yōu)閯?chuàng)建和管理數(shù)據(jù)庫帶來了很大的方便。 在技術(shù)難度方面,有指導(dǎo)老師的指導(dǎo)、周圍同學(xué)的熱心幫助,加上對很多 相關(guān)文獻(xiàn)的參考,能夠解決開發(fā)過程中所遇到的困難。 2.22.2 經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性 如今,隨著計(jì)算機(jī)的大量普及,各種軟件的開發(fā)成本越來越低,價(jià)格也越 來越底。本系統(tǒng)也是這樣,開發(fā)成本較低,只是需要一臺配置一般的計(jì)算機(jī), 該系統(tǒng)運(yùn)行時(shí)占計(jì)算機(jī)的資源也不多,但并不會因?yàn)殚_發(fā)成本低而造成系統(tǒng)功 能性能的下降。相反,隨

16、著計(jì)算機(jī)技術(shù)的發(fā)展,各種實(shí)用軟件的性能日漸提高。 家庭理財(cái)管理系統(tǒng)廉價(jià)的開發(fā)成本,卻能夠?yàn)榫用駧硐喈?dāng)大的實(shí)惠和方便。 主要表現(xiàn)在: (1)本系統(tǒng)可以說是一個(gè)擁有多種實(shí)用功能的家庭理財(cái)管理信息系統(tǒng),它集 成了家庭成員管理、收入管理、支出管理、密碼管理等多種功能,具有較強(qiáng)的 實(shí)用性和方便性。 (2)本系統(tǒng)的運(yùn)行可以大大提高居民管理財(cái)務(wù)的效率,減少不必要的人力和 物力。 (3)本系統(tǒng)還具有查詢和統(tǒng)計(jì)功能,能夠查詢到用戶在一段特定時(shí)間內(nèi)收入 和支出的情況,特別是支出情況,有時(shí)往往會讓用戶在月底嚇一跳,大大超出 預(yù)算,還弄不清錢都花到哪里了?有了家庭理財(cái)系統(tǒng),不僅使用戶對口袋里錢 的去向一目了然,而且

17、可以漸漸悟到一些心得,摸清哪些花費(fèi)是必要的,哪些 “意外開支”是可以避免的,哪筆開支是可繼續(xù)評估其必要性的。 由此,可以得出,本系統(tǒng)在經(jīng)濟(jì)上是絕對具有可行性。 2.32.3 操作上的可行性操作上的可行性 由于本系統(tǒng)管理的對象比較明確,就是對于收入支出的一些管理,主要就 是對數(shù)據(jù)庫的操作,且每個(gè)數(shù)據(jù)庫內(nèi)容具有較強(qiáng)的關(guān)聯(lián)性,設(shè)計(jì)的過程也不復(fù)雜。 因此,整個(gè)軟件的使用非常簡便。任何一個(gè)普通的計(jì)算機(jī)用戶都能很快的熟悉 整個(gè)軟件的使用。并且本系統(tǒng)所耗費(fèi)的資源非常小,任何家庭成員只需要在一 般的電腦上面,就能夠使用這個(gè)軟件,簡單、方便、快捷的實(shí)現(xiàn)對財(cái)務(wù)信息進(jìn) 行管理。 3 3 系統(tǒng)需求分析系統(tǒng)需求分析 3

18、.13.1 系統(tǒng)功能需求分析系統(tǒng)功能需求分析 家庭理財(cái)管理系統(tǒng)是針對用戶要求用計(jì)算機(jī),對自己的財(cái)務(wù)的收入、支出 以及相關(guān)的各種信息,進(jìn)行記錄、修改、添加、刪除而設(shè)計(jì)的一種現(xiàn)代化管理 軟件。 通過需求分析,本系統(tǒng)需要具有以下功能: (1)由于一項(xiàng)新的軟件在被使用之前,對于使用者來說是陌生和嶄新的,所以 要求系統(tǒng)具有良好的人機(jī)界面。 (2)能夠家庭理財(cái)管理系統(tǒng)的各項(xiàng)功能,能成功的對用戶各種信息進(jìn)行管理。 (3)查詢、修改、刪除、添加數(shù)據(jù)方便,數(shù)據(jù)的穩(wěn)定性和可靠性好。 具體說來,要求本系統(tǒng)具有以下幾個(gè)功能模塊:用戶登錄模塊、用戶管理 模塊、數(shù)據(jù)庫備份模塊、收入模塊、支出模塊、密碼管理模塊、賬目統(tǒng)計(jì)模

19、塊、 報(bào)表輸出模塊以及查詢模塊。系統(tǒng)整體的簡單關(guān)系圖如下所示: 密碼管理模塊 賬目管理模塊 報(bào)表輸出模塊 查詢模塊 家 庭 理 財(cái) 信 息 系 統(tǒng) 用戶登錄模塊 用戶管理模塊 數(shù)據(jù)庫備份模塊 收入模塊 支出模塊 圖 1 家庭理財(cái)管理系統(tǒng)模塊劃分圖 各模塊具體的需求描述如下: (1)用戶登錄模塊 用戶登錄:驗(yàn)證用戶的信息是否合法,以及驗(yàn)證用戶是否為系統(tǒng)的合法用 戶。 (2)用戶管理模塊 在系統(tǒng)中主要包括添加用戶。 (3)數(shù)據(jù)庫備份模塊 主要對數(shù)據(jù)庫里的數(shù)據(jù)進(jìn)行備份。 (4)收入模塊 主要實(shí)現(xiàn)對收入記錄的添加、刪除、修改。 (5)支出模塊 主要實(shí)現(xiàn)對收入記錄的添加、刪除、修改。 (6)密碼管理模塊

20、 在系統(tǒng)中主要包括用戶修改密碼。 (7)賬目統(tǒng)計(jì)模塊 主要對總收入、總支出、余額管理。 (8)報(bào)表輸出模塊 主要實(shí)現(xiàn)對收入、支出記錄的輸出及打印。 (9)查詢模塊 主要實(shí)現(xiàn)對收入、支出記錄按時(shí)間按類型查詢等。 3.23.2 數(shù)據(jù)流圖數(shù)據(jù)流圖 根據(jù)系統(tǒng)中收入、支出模塊內(nèi)對收入記錄、支出記錄具體操作和功能之間 的關(guān)系,可以得出如下圖 2 所示的數(shù)據(jù)流圖: 用 戶 添加、修改、刪 除兩表信息 添加、修改、刪 除的結(jié)果 數(shù)據(jù)庫 收入表、支出表 圖 2 數(shù)據(jù)流圖 3.33.3 系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫表設(shè)計(jì)表設(shè)計(jì) 本系統(tǒng)是一個(gè)關(guān)于家庭理財(cái)信息的管理系統(tǒng),主要包括收入、支出的管理。 所以,所設(shè)計(jì)數(shù)據(jù)庫表的時(shí)候

21、設(shè)計(jì)了用戶表、用戶信息表、收入類型表、支出 類型表、收入表、支出表、用戶登錄表用來存儲對應(yīng)的信息。 .1 用戶表(用戶表(userinfo) 表 1 角色表 字段名稱數(shù)據(jù)類型字段說明鍵引用 useridint用戶 id usernumvarchar用戶編號 usernamevarchar用戶名 .2 用戶信息表(用戶信息表(usermessage) 表 2 用戶信息表 字段名稱數(shù)據(jù)類型字段說明鍵引用 useridvarchar用戶 id useraddressvarchar用戶地址 birthdaydatetime用戶生日 workaddressvarchar工

22、作地址 workphonenumeric工作電話 usernamevarchar用戶名 3.3.3 收入類型表收入類型表 (classinputchashtable) 表 3 收入類型表 字段名稱數(shù)據(jù)類型字段說明鍵引用 classidnumeric支出類型編號 classnamevarchar支出類型名稱 .4 支出類型表(支出類型表(classoutputchashtable) 表 4 支出類型表 字段名稱數(shù)據(jù)類型字段說明鍵引用 clsaaidnumeric分類 id classnamevarchar分類名稱 .5 收入表收入表(inputchashtable

23、) 表 5 收入表 字段名稱數(shù)據(jù)類型字段說明鍵引用 useridvarchar編號 idint編號 inputnamevarchar收入者 inputcomesfromnumeric收入來源 inputchashvarchar收入金額 inputformsvarchar收入類型 inputcontentvarchar備注 inputdatetimedatetime時(shí)間 classidnumeric收入類型編號 .6 成員登錄信息表成員登錄信息表(membername) 表 6 成員登錄信息表 字段名稱數(shù)據(jù)類型字段說明鍵引用 idint編號 userpasswordchar密碼

24、passnamenumeric登錄名 .7 支出表支出表(outputchashtable) 表 7 支出表 字段名稱數(shù)據(jù)類型字段說明鍵引用 useridvarchar編號 idint編號 outputnamevarchar支出用途 outputchashnumeric支出金額 usernamevarchar支出者 outputcontentvarchar備注 outputdatetimedatetime時(shí)間 classidnumeric支出類型編號 4 4 系統(tǒng)功能的設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)功能的設(shè)計(jì)與實(shí)現(xiàn) 本系統(tǒng)主要包括對登錄模塊的設(shè)計(jì)、用戶管理模塊的設(shè)計(jì)、用戶密碼管理 模塊的設(shè)計(jì)、

25、數(shù)據(jù)庫備份管理模塊的設(shè)計(jì)、收入模塊的設(shè)計(jì)、支出模塊的設(shè)計(jì)、 帳目統(tǒng)計(jì)模塊的設(shè)計(jì)、查詢模塊的設(shè)計(jì)以及報(bào)表輸出模塊的設(shè)計(jì)。具體如下: 4.14.1 系統(tǒng)登錄界面的設(shè)計(jì)系統(tǒng)登錄界面的設(shè)計(jì) .1 登錄界面登錄界面 系統(tǒng)登錄界面也是本家庭理財(cái)管理系統(tǒng)的第一個(gè)界面,其界面如下: 圖 3 登錄界面 此界面是用戶進(jìn)入系統(tǒng)首先需要經(jīng)過的界面,用戶在正確地輸入自己的用 戶名和密碼后,便可進(jìn)入系統(tǒng)的主界面,用戶可以通過這個(gè)界面進(jìn)入主頁面與 其它模塊進(jìn)行接觸,對系統(tǒng)內(nèi)的各個(gè)財(cái)務(wù)等多種信息進(jìn)行修改、添加、刪除、 查詢等操作。 .2 登錄功能的實(shí)現(xiàn)登錄功能的實(shí)現(xiàn) 當(dāng)用戶輸入完用戶名和密碼以

26、后,系統(tǒng)會觸發(fā)一個(gè)驗(yàn)證用戶輸入的用戶名 稱、密碼是否正確的事件。只有當(dāng)兩個(gè)信息全部正確時(shí),用戶才能夠登錄到系 統(tǒng)中,否則頁面將通過 messagebox 控件顯示登錄時(shí)發(fā)生的相關(guān)錯誤信息。用戶 登錄成功后,系統(tǒng)將跳轉(zhuǎn)到主界面。 首先是與數(shù)據(jù)庫相連,其相關(guān)代碼為: dim conn as new sqlclient.sqlconnection conn.connectionstring = my.settings.checkconnectionstring.tostring conn.open() 與數(shù)據(jù)庫相連以后,獲取用戶輸入的用戶名及密碼信息,相關(guān)代碼為: with comm.paramet

27、ers .add(new sqlclient.sqlparameter(name, sqldbtype.char).value = usernametextbox.text .add(newsqlclient.sqlparameter(password,sqldbtype.decimal).value = passwordtextbox.text .add(newsqlclient.sqlparameter(returnvalue, sqldbtype.int).direction = parameterdirection.returnvalue end with 然后再將獲取的信息與信息表里

28、的信息進(jìn)行比較,做出是否登錄的判斷, 如果用戶名和密碼不相匹配的話,則無法登錄。相關(guān)代碼為: dim dr as string dr = cstr(comm.executescalar) if dr then messagebox.show(已經(jīng)登錄了, dr.tostring + 用戶號, messageboxbuttons.ok,messageboxicon.information, messageboxdefaultbutton.button3) flag = true else flag = false messagebox.show(登錄失敗, 請先登錄, messageboxbut

29、tons.yesno, messageboxicon.error, messageboxdefaultbutton.button1) ok.enabled = false me.close() end if 4.24.2 用戶信息管理模塊的設(shè)計(jì)用戶信息管理模塊的設(shè)計(jì) 添加用戶信息頁面主要實(shí)現(xiàn)對新用戶的信息進(jìn)行添加的功能。因?yàn)楸鞠到y(tǒng) 涉及到對用戶的財(cái)務(wù)信息進(jìn)行相關(guān)的管理,這些信息對于用戶來說應(yīng)該是相當(dāng) 機(jī)密相當(dāng)重要的。所以,本系統(tǒng)添加的用戶只能夠是家庭內(nèi)部成員。在以后需 要的情況下,可以由已經(jīng)存在的擁護(hù)從數(shù)據(jù)庫中添加新的用戶。從下圖中,我 們可以看到添加用戶信息的界面中的各個(gè)需要添加的信息項(xiàng):

30、圖 4 用戶信息管理界面示意圖 以下是添加新用戶的代碼: private sub inserttpb() toolstripcombobox1.items.clear() dim comstr as string = select username from userinfo sqlconstr = new sqlclient.sqlconnection(constr) dim dp as sqlclient.sqldataadapter = new sqlclient.sqldataadapter(comstr, s qlconstr) dp.fill(ds, table) if not d

31、s is nothing then for i as integer = 0 to ds.tables(0).rows.count - 1 if ds.tables(0).rows.count = 0 then exit for end if toolstripcombobox1.items.add(ds.tables(0).rows(i)(0).tostring) next end if end sub 4.34.3 密碼管理模塊的設(shè)計(jì)密碼管理模塊的設(shè)計(jì) 在該系統(tǒng)中密碼是保護(hù)信息的安全性的重要工具,定期的更換密碼對于保 證用戶信息的安全性是非常有好處的,也是非常必要的。在本系統(tǒng)中對于用戶 密

32、碼的修改是很簡單的,用戶只需要來到密碼修改的頁面上,輸入自己的登錄 名、原來的用戶密碼以及新密碼,就可以輕松地完成密碼修改了。密碼修改如 下圖所示: 圖 5 密碼修改界面 用戶在修改密碼時(shí),需要輸入用戶的登錄名、用戶原來的密碼以及新的密 碼,當(dāng)用戶輸入完以上信息,點(diǎn)擊修改按鈕之后,系統(tǒng)將會觸發(fā)一系列的事件。 首先系統(tǒng)會將用戶登錄名和用戶原來的密碼與數(shù)據(jù)庫中的用戶信息做比較,判 斷是否是該用戶在進(jìn)行操作,如果判斷是該用戶的話,則將新密碼保存到數(shù)據(jù) 庫中去,系統(tǒng)便會彈出 messagebox 提示用戶密碼修改成功。如果判斷不是該 用戶的話,系統(tǒng)也會彈出 messagebox 提示用戶不能修改密碼。

33、密碼修改功能 的相關(guān)代碼如下: if textbox7.text then with search .comstrkou = update membername set membername.password= + textbox8.text + where passname like % + textbox6.text + .constrkou = constr end with if search.initvaled_dataset = 1 then messagebox.show(成功的更改, 海星) textbox7.text = textbox8.text textbox8.text

34、 = else messagebox.show(更新失敗,你使用不當(dāng)) end if end if 4.44.4 數(shù)據(jù)庫備份模塊的設(shè)計(jì)數(shù)據(jù)庫備份模塊的設(shè)計(jì) 數(shù)據(jù)庫備份模塊對于用戶非常重要,數(shù)據(jù)庫備份模塊可以把用戶的信息在 數(shù)據(jù)庫里再保存一份,為以后發(fā)生特殊情況做準(zhǔn)備,也可以說是為用戶信息的 安全又加了一層保險(xiǎn),數(shù)據(jù)庫備份模塊界面如下圖所示: 圖 6 數(shù)據(jù)庫備份模塊界面 以下代碼的功能是刪除原來的文件: gdatabasename = cmbdatabasename.text obackup = new sqldmo.backup obackupevent = obackup obackup.d

35、atabase = gdatabasename gbkuprstrfilename = txtdatafilename.text obackup.files = gbkuprstrfilename 進(jìn)行數(shù)據(jù)庫備份: if len(dir(gbkuprstrfilename) 0 then kill(gbkuprstrfilename) end if system.windows.forms.cursor.current = system.windows.forms.cursors.waitcursor 恢復(fù)數(shù)據(jù)庫: dim orestore as sqldmo.restore gdatabas

36、ename = cmbdatabasename.text orestore = new sqldmo.restore orestoreevent = orestore orestore.database = gdatabasename gbkuprstrfilename = txtdatafilename.text orestore.files = gbkuprstrfilename system.windows.forms.cursor.current= system.windows.forms.cursors.waitcursor 4.54.5 收入模塊的設(shè)計(jì)收入模塊的設(shè)計(jì) 對于該家庭理財(cái)

37、系統(tǒng)來說,收入模塊是很非常重要的一個(gè)模塊。因?yàn)樗?記錄用戶收入的一切信息,為用戶提供一個(gè)非常實(shí)用且便捷的記錄功能。此外, 該模塊還具有修改、刪除、排序、查找等功能。 在家庭理財(cái)系統(tǒng)中,用戶添加收入記錄是很頻繁的事,那么在系統(tǒng)中收入 的記錄就會非常多。正因?yàn)槿绱?,每條記錄的信息就顯得尤為重要。添加收入 信息記錄的內(nèi)容包括:收入來源、金額、收入日期、收入者、存放方以及相關(guān) 備注這幾項(xiàng)。另外為了用戶能夠方便的查看收入記錄,故將收入來源進(jìn)行了分 類,具體分為三類,分別為工資、股票以及其他。收入模塊的界面如下圖所示: 圖 7 收入模塊 .1 添加收入記錄添加收入記錄 以下是添加收入記錄

38、的代碼,首先找出收入記錄中最大的 id 號,然后把將 要插入的收入記錄中的 id 號,在最大 id 號的基礎(chǔ)上加 1,然后根據(jù)用戶輸入 的收入記錄的信息保存到數(shù)據(jù)庫中,并顯示在收入界面的右半部分。 public sub save() dim id as string with data .commadstr = select max(id)from inputchashtable .connstring = my.settings.checkconnectionstring.tostring end with id = ctype(data.getmaxid(), string) id = i

39、d + 1 data.insert(inputcomes, inputchash, inputforms, inputname, inputcontant, inputdatatime, id) end sub .2 刪除收入記錄刪除收入記錄 在刪除記錄的時(shí)候,只需要讓該記錄獲取焦點(diǎn),再點(diǎn)擊工具欄中的刪除圖 標(biāo)就可以了。在該記錄后的記錄的 id 號都減 1,以下是刪除收入記錄的相關(guān)代 碼: public sub delectitem(byval currentid as string) with data .connstring = my.settings.checkconne

40、ctionstring end with data.delect(currentid) end sub public sub delectitem(byval currentid as string, byval name as string) with data .connstring = my.settings.checkconnectionstring end with data.delect(currentid, name) end sub 4.64.6 支出模塊的設(shè)計(jì)支出模塊的設(shè)計(jì) 對于該家庭理財(cái)系統(tǒng)來說,支出模塊是很非常重要的一個(gè)模塊。因?yàn)樗?記錄用戶支出的一切信息,讓用戶能清楚

41、地知道每一分錢到底是花在了什么地 方。為用戶提供一個(gè)非常實(shí)用且便捷的記錄功能。此外,該模塊還具有修改、 刪除、排序、查找等功能。 在家庭理財(cái)系統(tǒng)中,用戶添加支出記錄是很頻繁的事,那么在系統(tǒng)中支出 的記錄就會非常多。正因?yàn)槿绱耍悦織l記錄的信息就顯得尤為重要。添加 收入信息記錄的內(nèi)容包括:支出金額、支出者、支出日期、支出用途以及相關(guān) 備注這幾項(xiàng)。 圖 8 支出模塊 .1 添加支出記錄添加支出記錄 以下是添加支出記錄的代碼,首先找出收入記錄中最大的 id 號,然后把將 要插入的支出記錄中的 id 號,在最大 id 號的基礎(chǔ)上加 1,然后根據(jù)用戶輸入 的支出記錄的信息保存到數(shù)據(jù)庫中

42、,并顯示在收入界面的右半部分。 public sub save() dim id as string with data .commadstr = select max(id)from outputtable .connstring = my.settings.checkconnectionstring.tostring end with id = ctype(data.getmaxid(), string) id = id + 1 data.insert(outputchash, outputname, username, outputcontant, outputdate, id) end

43、 sub .2 刪除支出記錄刪除支出記錄 在刪除記錄的時(shí)候,只需要讓該記錄獲取焦點(diǎn),再點(diǎn)擊工具欄中的刪除圖 標(biāo)就可以了。在該記錄后的記錄的 id 號都減 1,以下是刪除收入記錄的相關(guān)代 碼: public sub delectitem(byval currentid as string) with data .connstring = my.settings.checkconnectionstring end with data.delect(currentid) end sub public sub updata(byval currentid as string) data

44、.updatacontant(outputchash, outputname, username, outputcontant, outputdate, currentid) data.delect(currentid) end sub 4.74.7 帳目統(tǒng)計(jì)模塊的設(shè)計(jì)帳目統(tǒng)計(jì)模塊的設(shè)計(jì) 對于該家庭理財(cái)系統(tǒng)來說,帳目統(tǒng)計(jì)模塊是一個(gè)不可缺少的模塊,它的一 個(gè)重要的功能就是將用戶所有的收入金額、總支出金額、總結(jié)余做一個(gè)匯總, 使用戶對自己總體的財(cái)務(wù)狀況有一個(gè)很清晰的了解,對收支是否平衡等情況一 目了然。此外,因?yàn)樵谠撃K界面的右邊做了收入記錄和支出記錄的鏈接,所 以該模塊還具有跳轉(zhuǎn)到收入和支出兩表

45、的功能。 圖 9 帳目統(tǒng)計(jì)模塊界面 用戶想要查看帳目統(tǒng)計(jì)是非常簡單的,用戶只需要登錄到系統(tǒng)主界面,再 進(jìn)入到收入支出表就可以了,而并不需要輸入信息,這樣對于用戶來講就十分 方便。該模塊核心代碼如下: dim comm as sqlclient.sqlcommand = new sqlclient.sqlcommand(outincoming, cnn) 命令類型 comm.commandtype = commandtype.storedprocedure dim checknumber as string = ctype(comm.executescalar, double).tostring

46、(c) textbox2.text = checknumber comm = new sqlclient.sqlcommand(inputchashnumber, cnn) comm.commandtype = commandtype.storedprocedure dim outputnum as string = ctype(comm.executescalar,double).tostring(c) textbox1.text = outputnum textbox3.text = ctype(cint(outputnum) - cint(checknumber), double).to

47、string(c) comm.dispose() 4.84.8 查詢模塊的設(shè)計(jì)查詢模塊的設(shè)計(jì) 對于家庭理財(cái)系統(tǒng)來說,查詢功能是非常重要的一個(gè)功能。該家庭理財(cái)系 統(tǒng)查詢模塊包含四個(gè)查詢方式,以收入表為例,這四種查詢方式分別是按收入 類型、按收入時(shí)間、按收入者、按收入金額范圍進(jìn)行查詢,對應(yīng)收入表和支出 表,并實(shí)現(xiàn)對其他相關(guān)表單的跨表查詢。用戶能按多種不同的方式更清楚地了 解到自己的財(cái)務(wù)情況。下圖是查詢模塊的界面示意圖: 圖 10 查詢模塊 本系統(tǒng)采用統(tǒng)一的查詢模塊 theorderwithselect 進(jìn)行查詢。其中該查詢模 塊里面擁有數(shù)據(jù)字符串連接屬性、填充屬性以及數(shù)據(jù)集屬性,相應(yīng)的 datas

48、et 數(shù) 據(jù)集屬性,通過這些屬性實(shí)現(xiàn)對 ado.net 的操作。 通常情況下,實(shí)現(xiàn)查詢的流程為:首先對 string 類型的字符串連接屬性進(jìn) 行賦值,該值為 my.settings.connectionstring。其中 my 對象是 vs2005 中新添加 的功能,my 提供了常用.net framework 類與函數(shù)的進(jìn)入點(diǎn),讓常用的功能唾 手可得,并減少程序員所編寫代碼的行數(shù)。通過 my 實(shí)現(xiàn)了對系統(tǒng)資源的訪問, 其中系統(tǒng)資源包含 settings,通過 settings 實(shí)現(xiàn)了對系統(tǒng)資源的保存。其次實(shí)現(xiàn) 對 connection 對象的初始化,通過 connection.open 事件

49、將數(shù)據(jù)庫連接打開。再 次實(shí)現(xiàn)對數(shù)據(jù)庫命令屬性初始化,并修改 commandstring(數(shù)據(jù)庫命令字符串) 。 然后實(shí)現(xiàn)查詢命令,其中查詢命令保存在 commandstring 中,并用 command 對 象初始化 dataadapter,最終實(shí)現(xiàn)對數(shù)據(jù)集屬性的填充。其中 dataadapter 實(shí)現(xiàn) 對數(shù)據(jù)庫底層的操作,并返回一張類型為 xml 的表單,該表單保存了相應(yīng)的 查詢結(jié)果,并填充 dataset 數(shù)據(jù)集。 其中 dataset 數(shù)據(jù)集包含了多種存貯 xml 表單的方法,第一種方法為直接 填充,其中該表單的名字為”datatable1”,第二種方法為帶名字的填充,這樣實(shí) 現(xiàn)了一個(gè)

50、dataset 數(shù)據(jù)集可以保存多個(gè)數(shù)據(jù)表單,甚至可以實(shí)現(xiàn)添加表但的關(guān)聯(lián) 性,模擬出了 sql 底層表但實(shí)體的情況,只需要修改 xml 表單就可以實(shí)現(xiàn)對 數(shù)據(jù)庫無連接的操作。當(dāng)需要修改數(shù)據(jù)時(shí),只需提交 xml 表單便實(shí)現(xiàn)了對實(shí) 體的操作,但是作為存放數(shù)據(jù)的 dataset 數(shù)據(jù)集,仍然有很大的缺陷,不能直接 對 xml 的查詢,而是在新建連接的情況下實(shí)現(xiàn)對數(shù)據(jù)集的再次填充,從而損 耗了部分系統(tǒng)資源。查詢功能核心代碼如下: with selectitem .selectmethodinfo = select classname,inputname,inputchash,inputdatetime

51、from inputchashtable, classinputchashtable where(inputchashtable.classid = classinputchashtable.classid) and classinputchashtable.classname= + combobox1.text.trim + end with 4.94.9 報(bào)表輸出模塊的設(shè)計(jì)報(bào)表輸出模塊的設(shè)計(jì) 報(bào)表輸出模塊實(shí)際上就是對收入表和支出表的記錄通過打印的方式輸出。 將所得到的表的列名,賦值給單元格: dim xlapp as new interop.excel.applicationclass d

52、im xlbook as interop.excel.workbook dim xlsheet as interop.excel.worksheet dim rowindex, colindex as integer rowindex = 1 colindex = 0 xlbook = xlapp.workbooks().add xlsheet = xlbook.worksheets(sheet1) dim table as new datatable table = ds.tables(0) 得到的表所有行,賦值給單元格: dim col as datacolumn dim row as d

53、atarow for each col in table.columns colindex = colindex + 1 xlapp.cells(1, colindex) = col.columnname next 系統(tǒng)在執(zhí)行打印時(shí),其實(shí)是生成了一張 excel 的表,然后再將信息打印出 來。 execl表單的申明: imports microsoft.office.core imports microsoft.office 5 5 系統(tǒng)測試結(jié)果系統(tǒng)測試結(jié)果 本系統(tǒng)的開發(fā)使用了 vs2005 作為開發(fā)工具,具有良好的可視化的編程環(huán) 境。在編程的過程中就可以對所做的模塊進(jìn)行運(yùn)行,發(fā)現(xiàn)錯誤,以便立即進(jìn)行 改正。經(jīng)過不斷地修改和更正,最終得以完善各個(gè)模塊的功能。通過進(jìn)行系統(tǒng) 各個(gè)子模塊的測試和總體的測試,

溫馨提示

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

最新文檔

評論

0/150

提交評論