家庭財務(wù)管理系統(tǒng)-消費、收入數(shù)據(jù)庫的設(shè)計與實現(xiàn)_第1頁
家庭財務(wù)管理系統(tǒng)-消費、收入數(shù)據(jù)庫的設(shè)計與實現(xiàn)_第2頁
家庭財務(wù)管理系統(tǒng)-消費、收入數(shù)據(jù)庫的設(shè)計與實現(xiàn)_第3頁
家庭財務(wù)管理系統(tǒng)-消費、收入數(shù)據(jù)庫的設(shè)計與實現(xiàn)_第4頁
家庭財務(wù)管理系統(tǒng)-消費、收入數(shù)據(jù)庫的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第27頁(共28頁)家庭財務(wù)管理系統(tǒng)——消費、收入,數(shù)據(jù)庫的設(shè)計與實現(xiàn)摘要:本系統(tǒng)設(shè)計的是一套功能比較完善的家庭理財系統(tǒng),功能主要包括日常消費和收入記錄和統(tǒng)計管理部分。本家庭理財系統(tǒng)是使用計算機進(jìn)行信息管理,不僅提高了工作效率,而且操作簡便、界面友好、靈活、實用,能夠很好的滿足家庭從事財務(wù)管理方面的需要。關(guān)鍵詞:家庭理財;MVC;SSHAbstract:Thedesignofthesystemisthefamilyfinancialmanagementsystemisasetofmoreperfectfunction,includingthemainfunctionofdailyconsumptionandincomerecordsandstatisticsmanagement.Thefamilyfinancialmanagementsystemistheuseofcomputerinformationmanagement,notonlyimprovetheworkefficiency,butalsohastheadvantagesofsimpleoperation,friendlyinterface,flexible,practical,canbeverygoodtomeetthefamilyinfinancialmanagement.Keywords:familyfinancialmanagement;MVC;SSH1引言改革開放以來,中國經(jīng)濟(jì)得到了迅速的發(fā)展,家庭收入也與日俱增,隨著房產(chǎn)熱、私家車、出國游等走入尋常百姓家,如何規(guī)劃財富,如何讓財富增值,如何享受財富也日漸成為每個家庭關(guān)注的話題?!吨袊y(tǒng)計年鑒》的資料表明,近13年來,中國物價上漲率平均達(dá)到了6.5%,這一數(shù)字意味著,如果不用于投資理財,我們手頭的現(xiàn)金每年就會減少6.5%。從20世紀(jì)90年代國內(nèi)第一家銀行推出個人理財產(chǎn)品,到目前幾乎所有的銀行都擁有了個人理財部,有些甚至引進(jìn)了更高層次的貴賓理財。這就要求有更好的家庭理財軟件?,F(xiàn)代家庭與傳統(tǒng)家庭在理財方面也出現(xiàn)了許多不同,兩相比較,現(xiàn)代家庭理財難度更大,其中還潛藏了多種理財危機。其一是收入雖增,支出更大。而現(xiàn)代職業(yè)婦女相當(dāng)普遍,雙薪家庭收入增加,可以支配的家庭收入相對較多。但是由于現(xiàn)代人物質(zhì)欲望高,消費誘惑也大,收入雖較豐厚,花費也比以往高出許多。其二是投資雖廣,風(fēng)險也高。傳統(tǒng)家庭理財方式多半以儲蓄為主,財富累積速度雖慢,但風(fēng)險也低,至少不會把本金賠掉。而現(xiàn)在投資理財工具多樣化,但若未具備專業(yè)知識而盲目理財,其結(jié)果不僅白忙一場,還可能因此賠掉老本。其三是子女雖少,花費更多?,F(xiàn)代家庭普遍響應(yīng)計劃生育,只有一個孩子,但由于父母十分重視孩子的養(yǎng)育,花在生活上、學(xué)習(xí)教育上的費用比以前多得多。其四是借錢雖易,利息巨增。我國居民的儲蓄存款超過十萬億人民幣。特別是像北京、上海、深圳等發(fā)達(dá)城市,居民的可支配收入正在逐步達(dá)到中等發(fā)達(dá)國家水平,許多居民除了購房、購車外有大量的金融資產(chǎn),如何分配、管理金融資產(chǎn)是居民最大的需求。大多數(shù)個人對金融方面的需求從儲蓄、保管金融資產(chǎn)向金融資產(chǎn)的保值、增值轉(zhuǎn)變。家庭如何管理金融資產(chǎn)呢?如何安排自己的富余的現(xiàn)金流,如何籌集自己所需的資金,成為了一個現(xiàn)實的問題。家庭財務(wù)管理系統(tǒng)以家庭理財?shù)母拍睢⒗碚?、本質(zhì)為基礎(chǔ),剖析了家庭的經(jīng)濟(jì)結(jié)構(gòu),并對理財市場和理財產(chǎn)品進(jìn)行了分析,在此基礎(chǔ)上提出了家庭理財?shù)哪J郊叭绾芜M(jìn)行家庭理財規(guī)劃。家庭理財系統(tǒng)是每一個家庭管理家庭財務(wù)收入和支出的不可缺少的一個管理信息系統(tǒng),它的內(nèi)容對于家庭的管理者來說是至關(guān)重要的,所以家庭理財系統(tǒng)應(yīng)該能夠為一個家庭的管理者提供充足的信息和快捷的查詢手段,方便家庭的管理者的合理理財。隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,網(wǎng)上銀行的迅速發(fā)展,其強大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機應(yīng)用的一部分,使用計算機對家庭財務(wù)進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點,如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高家庭財務(wù)管理的效率,也是家庭理財?shù)目茖W(xué)化、正規(guī)化管理,與先進(jìn)科學(xué)技術(shù)接軌的重要條件。2需求分析2.1系統(tǒng)設(shè)計目標(biāo)現(xiàn)代社會家庭的理財觀念進(jìn)一步提高,理財手段變得更加豐富。隨著生活水平和文化水平的提高,家庭購買電腦的能力和應(yīng)用電腦的能力開始提高。電腦及其應(yīng)用的普及化,人們應(yīng)用電腦進(jìn)行家庭財務(wù)管理的觀念增強,因此,開發(fā)一個通用性家庭財務(wù)管理軟件已經(jīng)成為社會需求。本系統(tǒng)是一個家庭通用型理財軟件,系統(tǒng)目標(biāo)是把適合家庭化管理的各種理財手段及家庭日常收支管理實現(xiàn)計算機化管理,使對家庭及家庭成員的收支活動更好地進(jìn)行記錄并加以統(tǒng)計分析成為可能,也使家庭理財變得方便、快捷、全面。2.2系統(tǒng)數(shù)據(jù)分析家庭理財?shù)闹行膬?nèi)容就是賬務(wù)的管理。人們幾乎每一天都會經(jīng)過許多次貨幣活動。其中消費便包括了衣食住行、娛樂等,而收入大致包括工資獎金、投資理財?shù)鹊?。如果能把各類不同的收支進(jìn)行分類,并且每條記錄可以儲存下來并且可以管理,那么無論現(xiàn)在還是將來,你的賬務(wù)就會清楚明白了?,F(xiàn)在我們把這些工作放到程序里去實現(xiàn),就是這樣的操作。日常生活中,當(dāng)我們要對一個月或者一年來收支的情況進(jìn)行了解,就非常困難,而觀察一個月里的收支走勢就更加是問題。做到程序里,把它存放到一個數(shù)據(jù)表里就可以了。歸結(jié)后,用戶的操作一般如下:增加,減少,修改,查找。因而有了相應(yīng)的操作來管理的賬務(wù),依據(jù)需要一個統(tǒng)計分析的過程。我定義這樣一個過程,用戶添加數(shù)據(jù),系統(tǒng)分析數(shù)據(jù),生成表,完成統(tǒng)計。比如日常消費統(tǒng)計,用戶添加消費信息,建立日常消費表,以消費類型,時間段,消費人等進(jìn)行分類統(tǒng)計也可綜合統(tǒng)計。時間上可按年收支,月收支,日收支進(jìn)行統(tǒng)計,并且繪制出消費變化的折線圖。在理財?shù)拇蟮郎?,我們也需要隨時了解自己所處的位置,在終極目標(biāo)的指引下,實現(xiàn)一個個短期的目標(biāo)。而這一切也正是軟件中統(tǒng)計圖要告訴用戶的。用戶注冊用戶注冊用戶登錄合法性驗證收支信息信息統(tǒng)計統(tǒng)計信息圖2-1數(shù)據(jù)流圖家庭理財系統(tǒng)首先要求用戶進(jìn)行注冊,需要通過一系列的合法驗證已經(jīng)檢測用戶名是否重復(fù),才能擁有屬于自己的賬戶來對應(yīng)其相應(yīng)的數(shù)據(jù)進(jìn)行管理。然后用戶需要進(jìn)行系統(tǒng)登錄驗證。用戶要輸入用戶名和密碼。輸入正確則進(jìn)入,否則給出反饋信息要求用戶重新輸入。合法性驗證通過后,進(jìn)行系統(tǒng)的各項收支信息的錄入,正確的數(shù)據(jù)會寫入后臺數(shù)據(jù)庫中進(jìn)行存儲,同時會在頁面中以表格的形式在收支記錄界面以及統(tǒng)計界面將數(shù)據(jù)處理之后反饋給用戶查看,并且在統(tǒng)計模塊應(yīng)當(dāng)生成有相應(yīng)的折線統(tǒng)計圖,方便用戶查看走勢增減。2.3系統(tǒng)問題分析家庭理財系統(tǒng)主要由日常記賬管理進(jìn)行理財實現(xiàn)家庭資金的最大增值。按用途有效的進(jìn)行消費計劃和統(tǒng)計。主要為各家庭成員對家庭財產(chǎn)的增加和減少活動進(jìn)行跟蹤和記錄,這樣隨時可以對家庭的財產(chǎn)擁有狀況進(jìn)行瀏覽,查詢,方便家庭財產(chǎn)的添置和管理。2.4系統(tǒng)功能需求瀏覽選擇功能:對系統(tǒng)進(jìn)行瀏覽,主頁展示,消費類型,各種統(tǒng)計信息。安全性功能:用戶可以注冊自己的賬號密碼以及個人信息,同時也就擁有了自己的密碼,防止非法用戶進(jìn)入系統(tǒng),破壞合法用戶的數(shù)據(jù)或查看信息。系統(tǒng)退出功能:關(guān)閉整個系統(tǒng),保存數(shù)據(jù),安全退出。收支記賬:對日常收支活動進(jìn)行記錄。對每天的收入和消費及時入賬或者出賬,便于以后對家庭收支或個人收支的查詢,刪除,修改和統(tǒng)計。它記錄了收支活動的日期,類型,活動內(nèi)容,金額及收支者等,并且需要驗證合法性才能完成錄入。收支記錄展示:收支記錄展示主要將用戶所有的收支記錄統(tǒng)一存放展示,并且可以由用戶進(jìn)行刪除,編輯,查詢等管理。查詢方面能夠支持多條件查詢,模糊查詢等。并且應(yīng)當(dāng)做出分頁功能,方便多數(shù)據(jù)用戶在大量數(shù)據(jù)中查找到自己需要的部分。統(tǒng)計展示:統(tǒng)計部分需要在用戶已經(jīng)擁有一定量的收支數(shù)據(jù)的基礎(chǔ)上,在數(shù)據(jù)庫中取出這些數(shù)據(jù),在頁面上進(jìn)行展示,對收支金額進(jìn)行匯總,類型,收支人出現(xiàn)的次數(shù)進(jìn)行統(tǒng)計等。并且使用這些數(shù)據(jù)做出折現(xiàn)統(tǒng)計圖,直觀明確的使用戶觀察自己收支的浮動趨勢。2.5系統(tǒng)性能分析2.5.1易用性要求系統(tǒng)采用目前普遍使用的窗體顯示模式,整個系統(tǒng)為色調(diào)為黑白藍(lán)灰,力求界面的美觀,簡潔明了,富于人性化目標(biāo)。系統(tǒng)界面盡量符合用戶實際操作的要求,它是能否吸引用戶的重要方面。數(shù)據(jù)輸入可直接在數(shù)據(jù)輸入框輸入。系統(tǒng)把一些比較固定的常用信息供用戶在輸入時選擇,方便輸入和加快了速度2.5.2系統(tǒng)安全性系統(tǒng)涉及到一個家庭的財務(wù)和賬務(wù)信息,安全性比較重要,每個用戶都擁有自己的賬戶密碼,防止家庭財務(wù)信息外泄或不想被人知道的信息外露??稍诿看芜M(jìn)入系統(tǒng)前要求輸入用戶名和密碼。2.6可行性分析2.6.1經(jīng)濟(jì)和市場可行性分析現(xiàn)在,人們的生活水平和文化素質(zhì)普遍提高,并且開始注重生活質(zhì)量。隨著市場經(jīng)濟(jì)的快速發(fā)展,觀念的不斷更新,個人理財意識普遍增強,特別是家庭理財意識得到很大發(fā)展,在意識上,一方面,人們對家庭和個人的各方面消費有想進(jìn)行統(tǒng)計和分析的愿望,以便更好地做好家庭收支計劃,和家庭財務(wù)管理。另一方面,各種理財手段不斷豐富,如何把各種理財手段統(tǒng)一起來,并且能更加方便的操作成為要求。在物質(zhì)基礎(chǔ)上,計算機的應(yīng)用開始普及,人們購置計算機和使用計算機的能力增強,人均計算機擁有量將快速提高。這些條件說明,人們有購買一個家庭理財軟件的要求。在一個可接受的價格范圍內(nèi),將購買這種軟件,因此具有市場潛力。開發(fā)一個小型財務(wù)軟件,用快速開發(fā)工具可在幾個月內(nèi)由幾個人的開發(fā)小組完成。經(jīng)過以上分析,開發(fā)一個通用型家庭理財軟件具有在經(jīng)濟(jì)和市場可行性。2.6.2技術(shù)可行性分析開發(fā)一個通用型家庭理財軟件,項目規(guī)??梢栽谶m合大多數(shù)家庭的基礎(chǔ)上進(jìn)行開發(fā)。技術(shù)上主要涉及界面設(shè)計和數(shù)據(jù)庫設(shè)計。在開發(fā)工具方面,可采用應(yīng)用軟件快速開發(fā)工具ECLIPSE8.6,它是一個高度集成化開發(fā)環(huán)境,具有豐富的組件,尤其在數(shù)據(jù)庫開發(fā)方面具有很大優(yōu)勢。ECLIPSE8.6能夠支持大多數(shù)數(shù)據(jù)庫的連接,通過數(shù)據(jù)庫連接組件可方便快捷的實現(xiàn)數(shù)據(jù)庫連接,并進(jìn)行高效訪問。本系統(tǒng)為B/S結(jié)構(gòu)。也就是系統(tǒng)的的客戶端采用的是瀏覽器,不用再另外編寫客戶端軟件。系統(tǒng)部署在TOMCAT下運行,開發(fā)時的調(diào)試環(huán)境為TOMCAT7.0,開發(fā)工具為ECLIPSE8.6,數(shù)據(jù)庫采用了MySql。系統(tǒng)采用MVC模式。該模式是現(xiàn)在最流行的一種設(shè)計模式。MVC包括3類對象,簡單地說,MODEL是應(yīng)用對象,VIEW是它在屏幕上的表示。CONTROLLER定義用戶界面輸入的相應(yīng)方式。VView(視圖)Controller(控制)Model(模型)圖2-2MVC模式圖2.7開發(fā)環(huán)境本系統(tǒng)后臺框架采用SSH,SSH為struts+spring+hibernate的一個集成框架,是目前較流行的一種Web應(yīng)用程序開源框架。集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的Web應(yīng)用程序。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實現(xiàn)為基本的Java對象,然后編寫基本的DAO(DataAccessObjects)接口,并給出Hibernate的DAO實現(xiàn),采用Hibernate架構(gòu)實現(xiàn)的DAO類來實現(xiàn)Java類與數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問,最后由Spring做管理,管理struts和hibernate。本系統(tǒng)前臺展示使用了JSP、AJAX、jQuery等。JSP技術(shù)是目前網(wǎng)上非常流行的在服務(wù)器端運行的腳本技術(shù)。JSP具有跨平臺、安全、強大的可伸縮性的特點,而果硬要挑一些毛病,JSP相對別的腳本更加難掌握,因為精通JSP必須精通Java語言,對于中小型項目,我們要考慮開發(fā)人員、開發(fā)速度、開發(fā)成本等問題。AJAX是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁的技術(shù)。通過在后臺與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX可以使網(wǎng)頁實現(xiàn)異步更新。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進(jìn)行更新。傳統(tǒng)的網(wǎng)頁(不使用AJAX)如果需要更新內(nèi)容,必須重載整個網(wǎng)頁面。JavaScript一種直譯式腳本語言,是一種動態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動態(tài)功能。而jQuery為JavaScript的框架,是免費、開源的,使用MIT許可協(xié)議。jQuery的語法設(shè)計可以使開發(fā)者更加便捷,例如操作文檔對象、選擇DOM元素、制作動畫效果、事件處理、使用Ajax以及其他功能。除此以外,jQuery提供API讓開發(fā)者編寫插件。其模塊化的使用方式使開發(fā)者可以很輕松的開發(fā)出功能強大的靜態(tài)或動態(tài)網(wǎng)頁。本系統(tǒng)數(shù)據(jù)庫采用了MySql。MySql是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),MySql被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySql作為網(wǎng)站數(shù)據(jù)庫。家庭理財系統(tǒng)在上述的應(yīng)用環(huán)境中,系統(tǒng)的實現(xiàn)在技術(shù)上具有可行性。3系統(tǒng)設(shè)計3.1總體設(shè)計3.1.1總體設(shè)計的主要任務(wù)通過在軟件需求分析時撐握的文檔,制定最佳方案,用系統(tǒng)流程圖,組成系統(tǒng)物理元素清單,系統(tǒng)的進(jìn)度計劃,供日后詳細(xì)設(shè)計時使用。確定模塊結(jié)構(gòu),劃分功能模塊,將軟件功能需求分配給所劃分的最小單元模塊(如食品消費模塊、著裝消費模塊、行車消費模塊,家居消費模塊等)。確定模塊間的聯(lián)系,確定數(shù)據(jù)結(jié)構(gòu)、文件結(jié)構(gòu)、數(shù)據(jù)庫模式。3.1.2系統(tǒng)功能模塊系統(tǒng)的功能模塊分為:登錄、注冊模塊,消費模塊,統(tǒng)計模塊,收入模塊。登錄、注冊模塊的功能:對初次使用本系統(tǒng)的用戶注冊自己的信息,設(shè)定賬號密碼等。然后對用戶的管理權(quán)限進(jìn)行驗證。決定用戶是否有權(quán)限進(jìn)行本系統(tǒng)。消費模塊的功能如下:消費錄入:對家庭的消費情況進(jìn)行錄入。消費記錄:列出所有的消費記錄,可以進(jìn)行增刪改查。收入模塊的功能如下:收入錄入:對家庭的收入情況進(jìn)行錄入。收入記錄:列出所有的收入記錄,可以進(jìn)行增刪改查。統(tǒng)計模塊的功能如下:當(dāng)日匯總:對當(dāng)日收支情況進(jìn)行匯總。月份匯總:對當(dāng)月收支情況進(jìn)行匯總。以折線圖的形式展現(xiàn)當(dāng)月每日具體金額數(shù)值以及變化。年份匯總:對當(dāng)月收支情況進(jìn)行匯總。以折線圖的形式展現(xiàn)當(dāng)年每月具體金額數(shù)值以及變化。我主要負(fù)責(zé)的模塊為:消費模塊,收入模塊。主要負(fù)責(zé)部分功能模塊圖如下:家庭財務(wù)管理系統(tǒng)家庭財務(wù)管理系統(tǒng)消費模塊收入模塊消費錄入消費管理收入管理收入錄入消費查詢消費編輯消費刪除收入查詢收入編輯收入刪除圖3-1家庭理財系統(tǒng)收支部分結(jié)構(gòu)圖3.1.3系統(tǒng)用例圖使用用例圖把參與者、用例以及它們之間的關(guān)系構(gòu)成的用于描述系統(tǒng)功能的靜態(tài)視圖。用例圖是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的模型圖,呈現(xiàn)了一些參與者和一些用例,以及它們之間的關(guān)系,主要用于對系統(tǒng)、子系統(tǒng)或類的功能行為進(jìn)行建模,主要負(fù)責(zé)部分用例圖如下所示:修改個人信息管理消費信息管理收入信息錄入消費信息刪除消費信息修改消費信息查詢消費信息修改個人信息管理消費信息管理收入信息錄入消費信息刪除消費信息修改消費信息查詢消費信息錄入收入信息刪除收入信息修改收入信息查詢收入信息圖3-2家庭理財系統(tǒng)收支部分用例圖3.1.4系統(tǒng)活動圖活動圖是闡明了業(yè)務(wù)用例實現(xiàn)的工作流程。業(yè)務(wù)工作流程說明了業(yè)務(wù)為向所服務(wù)的業(yè)務(wù)主角提供其所需的價值而必須完成的工作。業(yè)務(wù)用例由一系列活動組成,它們共同為業(yè)務(wù)主角生成某些工件。工作流程通常包括一個基本工作流程和一個或多個備選工作流程。工作流程的結(jié)構(gòu)使用活動圖來進(jìn)行說明,主要負(fù)責(zé)部分活動圖如下所示:登錄系統(tǒng)登錄系統(tǒng)收入管理消費管理增刪改查增刪改查退出系統(tǒng)圖3-3家庭理財系統(tǒng)收支部分活動圖3.2詳細(xì)設(shè)計3.2.1詳細(xì)設(shè)計的任務(wù)確定應(yīng)該怎樣具體地實現(xiàn)所要求的家庭理財系統(tǒng),經(jīng)過這個階段的設(shè)計工作,應(yīng)該得出對家庭理財系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用jsp程序設(shè)計語言書寫的程序。詳細(xì)設(shè)計階段的任務(wù)還不是具體地編寫程序,而是要設(shè)計出家庭理財系統(tǒng)程序的“藍(lán)圖”,以后程序員將根據(jù)這個藍(lán)圖寫出實際的家庭理財系統(tǒng)程序代碼,因此,詳細(xì)設(shè)計的結(jié)果基本上決定了最終的程序代碼的質(zhì)量。用戶首先要進(jìn)行注冊,輸入正確格式的相應(yīng)信息,并且檢查不是重復(fù)的用戶名,獲得了自己的賬號。然后要進(jìn)入系統(tǒng),首先要進(jìn)行用戶權(quán)限的驗證,系統(tǒng)會判斷用戶名和密碼是否正確,如果正確則進(jìn)行系統(tǒng)進(jìn)行操作。否則給出錯誤提示信息要求用戶重新輸入正確的用戶名和密碼。進(jìn)入系統(tǒng)后如果進(jìn)行消費錄入,首先要求數(shù)據(jù)輸入的格式必須符合系統(tǒng)的規(guī)定,否則給出錯誤格式的信息提示,要求用戶重新輸入正確格式的數(shù)據(jù)。正確的輸入后,數(shù)據(jù)會寫入后臺數(shù)據(jù)庫進(jìn)行存儲。收入記錄同樣要求用戶輸入的數(shù)據(jù)格式正確,否則會給出格式錯誤信息提示要求用戶輸入正確格式的數(shù)據(jù),輸入正確后,系統(tǒng)會將數(shù)據(jù)寫入后臺數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲。之后可以看到用戶的消費或者支出的記錄表,同時可以進(jìn)行刪除,修改,查詢等操作同時也同步到數(shù)據(jù)庫。數(shù)據(jù)庫中的數(shù)據(jù)為用戶進(jìn)行數(shù)據(jù)的收支統(tǒng)計查看和收支記錄的查看提供了依據(jù)。3.2.2程序流程圖 使用圖形表示算法的思路是一種極好的方法,因為千言萬語不如一張圖。流程圖形象直觀,各種操作一目了然,不會產(chǎn)生“歧義性”,便于理解,算法出錯時容易發(fā)現(xiàn),并可以直接轉(zhuǎn)化為程序。主要負(fù)責(zé)部分流程圖如下:登錄登錄格式是否正確消費錄入存入數(shù)據(jù)庫消費列表顯示收入錄入存入數(shù)據(jù)庫收入列表顯示格式是否正確退出系統(tǒng)是否否否是圖3-4家庭理財系統(tǒng)收支部分流程圖3.2.3程序類圖類圖是顯示了模型的靜態(tài)結(jié)構(gòu),特別是模型中存在的類、類的內(nèi)部結(jié)構(gòu)以及它們與其他類的關(guān)系等。類圖不顯示暫時性信息,主要負(fù)責(zé)部分類圖如下:用戶I用戶Id:Int賬號:String密碼:String昵稱:String郵箱:String生日:Date電話:String+修改個人信息+登錄+退出+增加收支信息+刪除收支信息+修改收支信息+查詢收支信息+查看統(tǒng)計信息Id:Int日期:Date金額:Double類型:String備注:String用戶ID:Int收入人:String收入Id:Int日期:Date內(nèi)容:String總價:Double單價:Double數(shù)量:Int類型:String備注:String用戶ID:Int消費人:String消費<<1…n>><<1…n>>圖3-5家庭理財系統(tǒng)收支部分類圖3.2.4程序狀態(tài)圖狀態(tài)圖是描述一個實體基于事件反應(yīng)的動態(tài)行為,顯示了該實體如何根據(jù)當(dāng)前所處的狀態(tài)對不同的事件做出反應(yīng)的。通常我們創(chuàng)建一個UML狀態(tài)圖是為了以下的研究目的:研究類、角色、子系統(tǒng)、或組件的復(fù)雜行為,主要負(fù)責(zé)部分狀態(tài)圖如下:之前家庭財務(wù)內(nèi)容之前家庭財務(wù)內(nèi)容收入信息存儲信息支出信息存儲信息收入信息存儲信息支出信息存儲信息收入支出更新更新圖3-6家庭理財系統(tǒng)收支部分狀態(tài)圖3.3數(shù)據(jù)庫設(shè)計3.3.1數(shù)據(jù)庫表設(shè)計數(shù)據(jù)庫設(shè)計中設(shè)計了三張表,一張表是用戶表USER,記錄有每個用戶的信息,一張表是消費記錄表CONSUME,記錄了每條消費具體信息,一張表是收入記錄表INCOME,記錄了每條收入具體信息。3.3.2E-R圖收支明細(xì)收支明細(xì)序號消費/收入類型消費者/收入者所屬用戶消費/收入金額消費/收入內(nèi)容日期 圖3-7收支實體圖用戶用戶用戶ID郵箱賬號電話密碼生日昵稱圖3-8用戶實體圖用戶用戶n管理管理收入支出nnn圖3-9數(shù)據(jù)庫E-R圖多個用戶可以管理多個收支明細(xì),但是每個用戶所對應(yīng)的多個收支明細(xì)與其他用戶的收支明細(xì)是無關(guān)的。3.3.3表的詳細(xì)結(jié)構(gòu)說明USER表有7個字段:ID、NAME、PASSWORD、NICKNAME、EMAIL、BRITHDAY、PHONENUM,ID是流水號,每條記錄的惟一性標(biāo)識;NAME是用戶名不能重復(fù);PASSWORD是用戶密碼;其余字段為用戶基本信息。七個字段除了ID使用int其余在數(shù)據(jù)庫中都使用varchar類型。表3.1USER表字段描述類型長度是否為空id唯一標(biāo)識int4否name賬號名varchar20否password密碼varchar20否nickname昵稱varchar20否email郵箱varchar20否birthday生日varchar20可以phonenum電話varchar20可以CONSUME表有10個字段:ID、DATE、THINGS、TOTALPRICES、CONSUMER、NOTE、USERID、TYPE、QUANTITY、PRICE,ID是流水號;DATE是日期;THINGS是消費的內(nèi)容;TOTALPRICES是消費的總金額(由單價和數(shù)量相乘得來);CONSUMER是消費人(在老公、老婆、孩子、父母中選擇);NOTE是備注(可以為空);USERID是這條記錄所對應(yīng)的唯一用戶ID號;TYPE是消費類型(衣食住行);QUANTITY是消費物品的數(shù)量或者次數(shù);PRICE是消費單價。10個字段中ID、USERID、QUANTITY為int型,DATE為date型,PRICE、TOTALPRICES為double型,其余4個字段為varchar類型。表3.2CONSUME表字段描述類型長度是否為空id流水號int4否date日期date3否things消費內(nèi)容varchar100否totalprices消費總價double8否consumer消費人varchar10否note備注varchar200可以userid用戶IDint4否type類型varchar10否quantity數(shù)量int4否price單價double8否INCOME表有7個字段:ID、DATE、RECEIVED、TYPE、NOTE、USERID、INCOMER,ID是流水號;DATE是日期;RECEIVED是收入金額;TYPE是收入類型;NOTE是備注(可以為空);USERID是這條記錄所對應(yīng)的唯一用戶ID號;INCOMER是收入人。7個字段中ID,USERID為int型,DATE為date型,RECEIVED為double型,其余3個字段為varchar類型。表3.3INCOME表字段描述類型長度是否為空id流水號int4否date日期date3否received收入金額double8否type收入類型varchar10否note備注varchar200可以userid用戶IDint4否incomer收入人varchar20否CONSUME表和INCOME表,兩表都與USER表之間通過USERID來作為連接的變量,通過ID列的值就能把兩個表給連接起來。3.3.4數(shù)據(jù)字典數(shù)據(jù)字典是指對數(shù)據(jù)的數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯、外部實體等進(jìn)行定義和描述,其目的是對數(shù)據(jù)流程圖中的各個元素做出詳細(xì)的說明。數(shù)據(jù)字典是一種用戶可以訪問的記錄數(shù)據(jù)庫和應(yīng)用程序源數(shù)據(jù)的目錄。主動數(shù)據(jù)字典是指在對數(shù)據(jù)庫或應(yīng)用程序結(jié)構(gòu)進(jìn)行修改時,其內(nèi)容可以由DBMS自動更新的數(shù)據(jù)字典。被動數(shù)據(jù)字典是指修改時必須手工更新其內(nèi)容的數(shù)據(jù)字典。因為篇幅的原因以下只列出本系統(tǒng)消費模塊部分的數(shù)據(jù)字典:表3.4消費部分?jǐn)?shù)據(jù)字典(數(shù)據(jù)文件)數(shù)據(jù)文件文件組成消費明細(xì)流水號,日期,消費內(nèi)容,消費總價,消費人,備注,用戶ID,類型,數(shù)量,單價表3.5消費部分?jǐn)?shù)據(jù)字典(數(shù)據(jù)項)數(shù)據(jù)項別名含義數(shù)據(jù)類型數(shù)據(jù)長度ID流水號每條消費記錄的唯一標(biāo)識整型4DATE日期消費記錄所對應(yīng)的日期日期類型3THINGS消費內(nèi)容消費記錄所對應(yīng)的消費內(nèi)容可變字符類型20TOTALPRICES消費總價消費記錄所對應(yīng)的消費總價雙精度浮點型8CONSUMER消費人消費記錄所對應(yīng)的消費人可變字符類型20NOTE備注消費記錄所對應(yīng)的備注可變字符類型20USERID用戶ID消費記錄所對應(yīng)的用戶的ID唯一標(biāo)識整型4TYPE消費類型消費記錄所對應(yīng)的消費類型可變字符類型20QUANTITY消費數(shù)量消費記錄所對應(yīng)的消費數(shù)量整型4PRICE消費單價消費記錄所對應(yīng)的消費單價雙精度浮點型8表3.6消費部分?jǐn)?shù)據(jù)字典(數(shù)據(jù)流)數(shù)據(jù)流名稱簡述數(shù)據(jù)來源數(shù)據(jù)去向數(shù)據(jù)組成消費錄入用戶將自己的消費行為在系統(tǒng)中進(jìn)行錄入操作用戶錄入系統(tǒng)統(tǒng)計表,數(shù)據(jù)庫日期+消費內(nèi)容+消費人+備注+類型+數(shù)量+單價4編碼設(shè)計4.1主界面的設(shè)計與實現(xiàn)系統(tǒng)的主頁面用于數(shù)據(jù)的收集工作,它實現(xiàn)一個框架,這個框架分為三個界面布局。每部分是獨立的JSP頁面。4.1.1導(dǎo)航窗口頁面它主要是完成框架左側(cè)的展示工作,同時在單擊左邊不同的鏈接的時候,在框架的中部顯示不同的收集數(shù)據(jù)的頁面。這樣設(shè)計的目的是:以后需要修改框架左側(cè)頁面的展示情況時不要修改多個地方,只需要修改該頁面就可以達(dá)到目的。如下圖所示:圖4-1家庭理財系統(tǒng)導(dǎo)航按鈕4.1.2頭頁面它的主要作用是實現(xiàn)框架頭的展示功能,顯示自動增長的系統(tǒng)時間和展示系統(tǒng)的標(biāo)題,以及退出系統(tǒng)功能。關(guān)于退出系統(tǒng)功能,后臺對于整個系統(tǒng)的正常運行超著到關(guān)重要的作用。當(dāng)用戶對系統(tǒng)維護(hù)工作完成后,必須退出系統(tǒng),否則萬一被不法分子乘機進(jìn)入,后果將不勘設(shè)想。實現(xiàn)退出系統(tǒng)后臺的方法很簡單,只需要單擊“退出”超鏈接時,連接登錄頁面即可。登錄頁面主要是將保存有用戶信息的Session變量清空,并將頁面重定向到網(wǎng)站登錄頁面即可。(1)(2)圖4-2家庭理財系統(tǒng)首頁頭頁面4.1.3顯示頁面該頁面初始化時是一個首頁展示頁面,左上角可以看到一個天氣的小插件,給用戶清爽明朗的感覺,同時豐富主頁內(nèi)容;左下角提供了用戶的個人信息,并且提供鏈接給用戶修改個人信息,以及日,月,年統(tǒng)計的概要以及鏈接。右邊顯示了最新的收支動態(tài),按照時間,最晚的記錄便會顯示在主頁上,每條記錄的明細(xì)也大致在動態(tài)中展示。界面如下圖所示:圖4-3家庭理財系統(tǒng)主頁通過點擊導(dǎo)航按鈕在該頁面展示所需要的內(nèi)容,該頁面是承載其他頁面。利用其他頁面進(jìn)行數(shù)據(jù)的收集工作。4.2消費/收入模塊的設(shè)計與實現(xiàn)通過點擊左邊導(dǎo)航欄中的消費管理或者收入管理,在下拉列中選擇錄入或者查看記錄。4.2.1消費/收入錄入模塊如果選擇錄入右邊頁面展示部分就出現(xiàn)了相應(yīng)的消費/收入錄入界面,用戶就可以在里面輸入相應(yīng)的消費/收入項目了,表單右側(cè)有相應(yīng)的格式提示,通過格式和合法性驗證就可以提交成功,否則有相應(yīng)的提示并且提交失敗。如下圖所示:圖4-4消費模塊錄入界面收支錄入模塊當(dāng)點擊提交按鈕后使用JS進(jìn)行前臺表單的合法性驗證,驗證不通過會給出提示。驗證成功后將表單提交給所對應(yīng)的ACTION,調(diào)用對應(yīng)的SPRING注入的SERVICE,SERVICE再調(diào)用對應(yīng)DAO接口,使用HIBERNATETEMPLATE對數(shù)據(jù)進(jìn)行存儲。4.2.2消費/收入記錄模塊如果選擇了消費/收入記錄右邊頁面展示部分就從數(shù)據(jù)庫中取出所有的消費/收入詳細(xì)記錄,按照日期排序。并且可以對所有數(shù)據(jù)進(jìn)行刪改查的操作,查詢方面根據(jù)不同的關(guān)鍵字,屬性或者日期等等進(jìn)行查詢。并且對查詢輸入框進(jìn)行了表單驗證,不能輸入非法的查詢條件。編輯與錄入類似,只是表單中事先填好了該條記錄原有的數(shù)據(jù)。并且該模塊使用了分頁功能,可以跳轉(zhuǎn),可以上下翻頁也可以直接點擊頁數(shù),并且更換頁面不會丟失查詢條件。界面如下圖:圖4-5家庭理財系統(tǒng)消費界面收支記錄模塊調(diào)用所對應(yīng)的ACTION,從數(shù)據(jù)庫中取出所需要的數(shù)據(jù),跳轉(zhuǎn)到顯示界面使用EL表達(dá)式從ACTION中存在REQUEST中的數(shù)據(jù)取出來遍歷在頁面打印,刪除和編輯功能在底層使用UPDATE方法對數(shù)據(jù)庫進(jìn)行更新。查詢方面同樣用JS進(jìn)行表單驗證,驗證失敗給予提示。4.3部分代碼展示以下展示消費模塊的ACTION部分代碼:5系統(tǒng)測試隨著軟件系統(tǒng)的規(guī)模日益龐大,結(jié)構(gòu)日趨復(fù)雜,對軟件系統(tǒng)的性能測試已經(jīng)成為必須和趨勢。尤其大型的分布式軟件系統(tǒng)更要在正式運行前進(jìn)行性能測試,因為這樣的系統(tǒng)在投入生產(chǎn)之后,往往要接受大批量的業(yè)務(wù)量,這對應(yīng)用程序本身,操作系統(tǒng),中心數(shù)據(jù)庫服務(wù)器,中間件服務(wù)器,網(wǎng)絡(luò)設(shè)備的承受力都是一個嚴(yán)峻的考驗。在其中任意一個環(huán)節(jié)出現(xiàn)的問題都可能給用戶帶來巨大的商業(yè)損失。預(yù)見軟件系統(tǒng)的并發(fā)承受能力以避免商業(yè)風(fēng)險,這是在軟件測試階段就應(yīng)該解決的5.1單元測試的過程單元測試常常和代碼編寫同步進(jìn)行,在完成了程序編寫、復(fù)查和語法正確性驗證后,就應(yīng)進(jìn)行單元測試用例設(shè)計。在對每個模塊進(jìn)行單元測試時,不能完全忽視它們和周圍模塊的相互聯(lián)系。為模擬這一聯(lián)系,在進(jìn)行單元測試時,需設(shè)置若干輔助測試模塊。輔助模塊有兩種,一種是驅(qū)動模塊(driver),用以模擬被測模塊的上級模塊。驅(qū)動模塊在單元測試中接受測試數(shù)據(jù),把相關(guān)的數(shù)據(jù)傳送給被測模塊,啟動被測模塊,并打印出相應(yīng)的結(jié)果。另一種是樁模塊(stub),用以模擬被測模塊工作過程中所調(diào)用的模塊。樁模塊由被測模塊調(diào)用,它們一般只進(jìn)行很少的數(shù)據(jù)處理,以便于檢驗被測模塊與其下級模塊的接口。驅(qū)動器和樁都是額外的開銷,這兩種模塊雖然在單元測試中必須編寫,但卻不作為最終的軟件產(chǎn)品提供用戶。如果驅(qū)動器和樁很簡單的話,那么開銷相對較低,然后,使用“簡單”的模塊是不可能進(jìn)行足夠的單元測試的,模塊間接口的全面檢驗要推遲到集成測試時進(jìn)行。5.2功能測試鏈接是使用戶從一個頁面瀏覽到另一個頁面的重要手段。對于每個鏈接,需要驗證兩件事情:一是該鏈接將用戶帶到它所說明的地方,另外就是被鏈接頁面是存在的。這句話聽起來有些問題,但是有很多多站點的內(nèi)部鏈接都是空的。這實在是無法忍受。如果根據(jù)業(yè)務(wù)規(guī)則需要對用戶輸入進(jìn)行校驗,需要保證這些校驗功能正常工作。應(yīng)用程序特定的功能需求。登錄部分測試用例如下表:表5.1家庭理財系統(tǒng)測試用例項目/軟件家庭財務(wù)管理系統(tǒng)程序版本1.0.0功能模塊Consume編制人田放用例編號Consume_1編制時間2015-1-15功能特性進(jìn)入系統(tǒng)的消費錄入界面,進(jìn)行數(shù)據(jù)錄入,對數(shù)據(jù)進(jìn)行合法性驗證。測試目的驗證是否輸入合法的數(shù)據(jù),阻止不符合格式的數(shù)據(jù)的錄入,保證數(shù)據(jù)的正確性。預(yù)置條件無特殊規(guī)程說明(區(qū)分大小寫)參考信息需求說明中關(guān)于“消費錄入”的說明測試數(shù)據(jù)任意虛擬消費信息操作步驟操作描述數(shù)據(jù)期望結(jié)果實際結(jié)果測試狀態(tài)(P/F)1在消費單價框輸入英文字母,其他框正常輸入。按“提交”按鈕消費單價為“abc”,其他數(shù)據(jù)正常。顯示警告信息“消費價格只能為正整數(shù)或者正小數(shù)(小數(shù)點后最多三位)?。 保ǚ希㏄2除了消費數(shù)量,其他數(shù)據(jù)正常輸入。按“提交”按鈕消費數(shù)量為空,其他數(shù)據(jù)正常。顯示警告信息“消費數(shù)量不能為空?。 保ǚ希㏄3所有數(shù)據(jù)正常錄入,按“提交”按鈕。一切數(shù)據(jù)正常。錄入成功(符合)P測試人員田

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論