版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)論文</b></p><p><b> (20 屆)</b></p><p> 個人信息系統(tǒng)的設(shè)計與實現(xiàn)</p><p><b> 個人信息系統(tǒng)</b></p><p><b> 摘要</b></p&g
2、t;<p> 隨著互聯(lián)網(wǎng)的高速發(fā)展,人們生活水平的提高,越來越來注重個人信息的管理。以信息技術(shù)為基礎(chǔ),信息技術(shù)對社會進(jìn)步與國民經(jīng)濟(jì)發(fā)展起著越來越大的促進(jìn)作用,并對傳統(tǒng)的思想觀念與工作方式帶來了巨大的沖擊。在信息化時代,計算機(jī)已經(jīng)進(jìn)入了各行各業(yè),同時也促進(jìn)了各行各業(yè)的發(fā)展,因此,像以前的手工操作已經(jīng)不可取了。個人管理系統(tǒng)的計算機(jī)軟件開發(fā)是勢在必行,如何利用先進(jìn)的管理手段,提高人們信息管理的水平,是當(dāng)今社會所面臨的一個課題。
3、提高個人管理水平,必須全方位地提高個人管理意識。只有高標(biāo)準(zhǔn)、高質(zhì)量的管理才能滿足企業(yè)的發(fā)展需求。面對信息時代的挑戰(zhàn),利用高科技手段來提高人們信息管理無疑是一條行之有效的途徑。在某種意義上,信息與科技在企業(yè)管理與現(xiàn)代化建設(shè)中顯現(xiàn)出越來越重要的地位。個人管理方面的信息化與科學(xué)化,已成為現(xiàn)代化生活水平步入高臺階的重要標(biāo)志。 </p><p> 關(guān)鍵詞:信息管理 個人信息系統(tǒng)</p><
4、p><b> Abstract</b></p><p> With the high-speed development of Internet, people living standard rise, more and more to pay attention to the personal information management. On the basis of in
5、formation technology, information technology on social progress and the development of national economy is playing a more and more big, and the traditional ideas and working mode has brought the huge impact. In the infor
6、mation age, the computer has entered the from all walks of life, but also promote the development of all walks of lif</p><p> Keywords: information management information system</p><p><b>
7、; 目錄</b></p><p><b> 1 緒 論1</b></p><p> 1.1 課題背景及意義1</p><p><b> 2 系統(tǒng)分析2</b></p><p><b> 2.1操作系統(tǒng)2</b></p><p
8、><b> 2.2軟件環(huán)境2</b></p><p><b> 2.3性能需求2</b></p><p> 2.3.1數(shù)據(jù)精確度2</p><p> 2.3.2適應(yīng)性2</p><p><b> 2.4運行需求2</b></p><
9、p> 2.4.1用戶界面2</p><p> 2.4.2硬件接口2</p><p> 2.5系統(tǒng)功能規(guī)劃2</p><p> 2.6系統(tǒng)總體流程圖3</p><p> 2.7系統(tǒng)詳細(xì)用例圖4</p><p> 2.7.1系統(tǒng)總體用圖4</p><p> 2.7.2
10、用戶登錄用例圖4</p><p> 2.7.3個人信息用例圖5</p><p> 2.7.4通訊錄用例圖5</p><p> 2.7.5備忘錄用例圖5</p><p> 2.7.6日記管理用例圖6</p><p> 2.7.7財務(wù)管理用例圖6</p><p><b&g
11、t; 3 系統(tǒng)設(shè)計8</b></p><p> 3.1系統(tǒng)功能設(shè)計8</p><p> 3.1.1系統(tǒng)功能劃分8</p><p> 3.1.2系統(tǒng)功能描述8</p><p> 3.1.3系統(tǒng)功能結(jié)構(gòu)圖8</p><p> 3.2數(shù)據(jù)庫設(shè)計9</p><p>
12、 3.2.1數(shù)據(jù)描述9</p><p> 3.3數(shù)據(jù)庫描述11</p><p> 3.4數(shù)據(jù)庫的邏輯設(shè)計11</p><p> 3.5數(shù)據(jù)庫的物理設(shè)計12</p><p> 3.6系統(tǒng)界面設(shè)計14</p><p> 4系統(tǒng)實現(xiàn)與測試18</p><p> 4.1核心代碼
13、18</p><p> 4.2系統(tǒng)測試方案29</p><p> 4.2.1測試原則29</p><p> 4.2.2測試方法29</p><p> 4.2.3測試項目說明29</p><p> 4.3系統(tǒng)評價29</p><p><b> 5 總結(jié)30<
14、;/b></p><p> 5.1發(fā)現(xiàn)的問題30</p><p> 5.2設(shè)計體會30</p><p><b> 主要參考文獻(xiàn)31</b></p><p><b> 致 謝32</b></p><p><b> 1 緒 論</b&g
15、t;</p><p> 1.1 課題背景及意義</p><p> 認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機(jī)應(yīng)用的一部分,使用計算機(jī)對個人信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點個人信息管理系統(tǒng)能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理
16、文件信息,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻能夠極大地提高個人管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件是很有必要的。</p><p> 個人信息管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后
17、臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性較好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。經(jīng)過分析,我們使用 Eclipse開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。整個系統(tǒng)從符合操作簡便、界面友好、靈活、實用、安全的要求出發(fā)。本文主要介紹了個人信息管理系
18、統(tǒng)的開發(fā)背景,所要完成的功能和開發(fā)的過程。主要說明了系統(tǒng)設(shè)計的重點、設(shè)計思想、難點技術(shù)和解決方案。</p><p><b> 2 系統(tǒng)分析</b></p><p><b> 2.1操作系統(tǒng)</b></p><p> 本系統(tǒng)是建立在Java基礎(chǔ)上開發(fā)的,因此,對開發(fā)環(huán)境的操作系統(tǒng)沒有特別需求,在此,本系統(tǒng)選擇了Win7
19、的操作系統(tǒng)。</p><p><b> 2.2軟件環(huán)境</b></p><p> 開發(fā)中所使用到的軟件環(huán)境如下所列。</p><p> (1)體系結(jié)構(gòu):B/S架構(gòu)(瀏覽器/服務(wù)器架構(gòu))。</p><p> (2)操作系統(tǒng):Windows系列</p><p> (3)數(shù)據(jù)庫管理系統(tǒng):Mys
20、ql</p><p> (4)開發(fā)工具: MyEclipse8.5</p><p> (5)軟件需求:jdk1.6以上,tomcat服務(wù)器</p><p><b> 2.3性能需求</b></p><p> 2.3.1數(shù)據(jù)精確度</p><p> 考慮到本系統(tǒng)的用戶需求在進(jìn)行財務(wù)管理實體
21、表的設(shè)計時將總收入,消費金額的數(shù)據(jù)精度是小數(shù)點后四位。</p><p><b> 2.3.2適應(yīng)性</b></p><p> 該系統(tǒng)適合各類人群使用。</p><p><b> 2.4運行需求</b></p><p><b> 2.4.1用戶界面</b></p&g
22、t;<p> 采用b/s架構(gòu),界面由jsp設(shè)計實現(xiàn),頁面導(dǎo)航將各個界面鏈接起來,簡單明了。</p><p><b> 2.4.2硬件接口</b></p><p> 要將本系統(tǒng)發(fā)布在網(wǎng)上需要運行服務(wù)器的主機(jī)上裝有網(wǎng)卡同時還要聯(lián)網(wǎng)。</p><p><b> 2.5系統(tǒng)功能規(guī)劃</b></p>
23、<p> 用戶可以通過注冊一個用戶來對個人的通訊錄信息,包括通訊人姓名、聯(lián)系方式、工作地點、城市、備注等;備忘錄信息,包括什么時間、事件、地點等;日記信息;包括時間、地點、事情、人物等;個人財物管理,包括總收入,消費項目、消費金額、消費時間、剩余資金等。個人信息進(jìn)行相關(guān)的處理。</p><p> 本系統(tǒng)提供的主要功能:</p><p> (1)能對通信錄信息進(jìn)行查看添加
24、。</p><p> (2)能對備忘錄信息進(jìn)行添加查看。</p><p> (3)能對日記信息進(jìn)行添加查看。</p><p> (4)能對個人財務(wù)信息進(jìn)行添加查看匯總收入支出的分類的查看。</p><p> (5)能對個人信息進(jìn)行管理。</p><p> 2.6系統(tǒng)總體流程圖</p><p
25、> 2.7系統(tǒng)詳細(xì)用例圖</p><p> 2.7.1系統(tǒng)總體用圖</p><p> 圖2.1系統(tǒng)總體用圖</p><p> 2.7.2用戶登錄用例圖</p><p> 用戶登錄注冊和用戶的注銷:是該系統(tǒng)的公共的功能部分。該部分主要負(fù)責(zé)對用戶登錄狀態(tài)的信息的存儲和傳遞。要實現(xiàn)這些功能需要借助session技術(shù)來實現(xiàn)。</
26、p><p> 圖2.2用戶登錄用例圖</p><p> 2.7.3個人信息用例圖</p><p> 個人信息管理模塊:該模塊主要的任務(wù)是實現(xiàn)對用戶個人自己信息的管理,包括對個人信息的修改和查看。</p><p> 圖2.3個人信息用例圖</p><p> 2.7.4通訊錄用例圖</p><p&
27、gt; 通訊錄管理模塊:該模塊主要的任務(wù)是實現(xiàn)對用戶的個人通訊錄的管理,包括對通信錄的添加查看功能。</p><p> 圖2.4通訊錄用例圖</p><p> 2.7.5備忘錄用例圖</p><p> 備忘錄管理模塊:該模塊主要的任務(wù)是實現(xiàn)對用戶的備忘錄的管理,包括對備忘錄的添加和查看的功能。</p><p> 圖2.5備忘錄用例圖
28、</p><p> 2.7.6日記管理用例圖</p><p> 日記管理模塊:該模塊主要的任務(wù)是實現(xiàn)對用戶的個人日記的管理,包括對日記的添加和查看的功能。</p><p> 圖2.6日記管理用例圖</p><p> 2.7.7財務(wù)管理用例圖</p><p> 財務(wù)管理模塊:該模塊主要的任務(wù)是實現(xiàn)對用戶的個人財
29、務(wù)狀況的管理,包括對個人財務(wù)總況的的顯示,財務(wù)狀況的詳細(xì)情況的查看,查看個人收入支出的詳細(xì)情況,添加個人財務(wù)信息的功能。</p><p> 圖2.7財務(wù)管理用例圖</p><p><b> 3 系統(tǒng)設(shè)計</b></p><p><b> 3.1系統(tǒng)功能設(shè)計</b></p><p> 3.1.
30、1系統(tǒng)功能劃分</p><p> 根據(jù)用戶使用用戶管理系統(tǒng)時管理的信息的類別的不同可以分為以下幾個模塊分別是:個人信息,備忘錄,通信錄,日記,財務(wù)管理。</p><p> 3.1.2系統(tǒng)功能描述</p><p> 個人信息管理系統(tǒng)主要由:個人信息管理、備忘錄管理、通訊錄管理、日記管理、財務(wù)管理等模塊組成。進(jìn)入該系統(tǒng)后,用戶可以對系統(tǒng)中的信息進(jìn)行添加、修改、和查
31、詢等操作。包括以下功能:</p><p> 3.1.3系統(tǒng)功能結(jié)構(gòu)圖</p><p><b> 3.2數(shù)據(jù)庫設(shè)計</b></p><p><b> 3.2.1數(shù)據(jù)描述</b></p><p> 在需求分析后,就可以設(shè)計出能夠滿足用戶需求的各類實體,以及它們之間的關(guān)系,為后面的設(shè)計打下基礎(chǔ)。這
32、些實體包含各種具體的信息,通過相互之間的作用形成數(shù)據(jù)的流動。</p><p> 根據(jù)上面的分析規(guī)劃出的實體有:用戶信息實體、通訊錄信息實體、日記信息實體、財務(wù)信息實體、備忘錄信息實體。系統(tǒng)中的各個信息實體的e-r圖如下面的圖。</p><p> 圖3.2個人信息實體</p><p> 圖3.4財務(wù)管理信息實體</p><p> 圖3.
33、5通訊錄信息實體</p><p> 圖3.6日記信息實體 </p><p><b> 3.3數(shù)據(jù)庫描述</b></p><p> 根據(jù)數(shù)據(jù)庫原理,并結(jié)合以上E-R圖,經(jīng)轉(zhuǎn)換,可以導(dǎo)出各個關(guān)系。其轉(zhuǎn)化規(guī)則為首先每個實體應(yīng)該轉(zhuǎn)換成一個關(guān)系,有屬性的聯(lián)系也應(yīng)轉(zhuǎn)化為一個關(guān)系然且需要給出每個關(guān)系的關(guān)鍵字。根據(jù)
34、以上規(guī)則直接給出所有關(guān)系。</p><p> 個人信息(用戶ID號,用戶密碼,姓名,年齡,出生日期,電話號碼,QQ,工作,地址)關(guān)鍵字為用戶ID號。</p><p> 日志(標(biāo)識,日期,地點,日記標(biāo)題,備注)關(guān)鍵字為標(biāo)識。</p><p> 通訊錄(標(biāo)識,名字,性別,關(guān)系,添加時間,電話, QQ,出生日期,工作,地址,城市)關(guān)鍵字為標(biāo)識。</p>
35、<p> 備忘錄(標(biāo)識,時間,記錄時間,地點,備注)關(guān)鍵字為標(biāo)識。</p><p> 財務(wù)管理(標(biāo)志,日期,項目,添加時間,數(shù)額,收入/支出)關(guān)鍵字為標(biāo)識。</p><p> 在得出以上關(guān)系后,根據(jù)關(guān)系數(shù)據(jù)庫的理論要求,需要對所有的關(guān)系進(jìn)行關(guān)系規(guī)范化,至少要求各個關(guān)系達(dá)到第三范式的要求。按照第三范式的要求對比以上各個關(guān)系,在所有關(guān)系中都不存在非主屬性對關(guān)鍵字的部分依賴,即
36、滿足第三范式。</p><p> 3.4數(shù)據(jù)庫的邏輯設(shè)計</p><p> 數(shù)據(jù)庫邏各個關(guān)系,現(xiàn)把它們轉(zhuǎn)化為數(shù)據(jù)表。</p><p> 用戶信息表:用戶ID號,用戶密碼,姓名,年齡,出生日期,電話號碼,QQ,工作,地址。輯設(shè)計即把得到的滿足第三范式的關(guān)系轉(zhuǎn)化為特定的數(shù)據(jù)庫系統(tǒng)下的數(shù)據(jù)表。根據(jù)前面得到的。</p><p> 日志表:
37、標(biāo)識,日期,地點,日記標(biāo)題,備注。</p><p> 通訊錄表:標(biāo)識,姓名,性別,關(guān)系,添加時間,電話, QQ,出生日期,工作,地址,城市。</p><p> 備忘錄表:標(biāo)識,日期,記錄時間,地點,備注。</p><p> 財務(wù)管理表:標(biāo)志,日期,項目,添加時間,數(shù)額,收入/支出。</p><p> 圖3.7數(shù)據(jù)庫邏輯關(guān)系圖</
38、p><p> 3.5數(shù)據(jù)庫的物理設(shè)計</p><p> 在完成數(shù)據(jù)庫的邏輯設(shè)計后,即可以開始數(shù)據(jù)庫的物理設(shè)計?;谝陨蠑?shù)據(jù)庫的邏輯設(shè)計,考慮程序設(shè)計的簡易性及通用性,本個人信息管理系統(tǒng)采用Oracle數(shù)據(jù)庫,并在其下創(chuàng)建5個數(shù)據(jù)表,其結(jié)構(gòu)分別如下:</p><p> 個人信息表, 其字段列表如圖3.8所示:</p><p><b>
39、; 圖3.8個人信息表</b></p><p> 備忘錄表, 其字段列表如圖3.9所示:</p><p><b> 圖3.9備忘錄表</b></p><p> 通訊錄表, 其字段列表如圖3.10所示:</p><p> 圖3. 10 通訊錄表</p><p> (4) 日記
40、表, 其字段列表如圖3.11所示:</p><p><b> 圖3.11日記表</b></p><p> (5) 財務(wù)管理表, 其字段列表如圖3.12所示:</p><p> 圖3.12財務(wù)管理表</p><p><b> 3.6系統(tǒng)界面設(shè)計</b></p><p>
41、<b> 用戶登錄界面如下:</b></p><p> 圖3.13用戶登錄界面</p><p><b> 個人信息界面如下:</b></p><p> 圖3.14個人信息界面</p><p><b> 備忘錄界面如下:</b></p><p>
42、 圖3.15備忘錄界面</p><p><b> 通信錄界面如下:</b></p><p> 圖3.16通信錄界面</p><p><b> 日記界面如下:</b></p><p><b> 圖3.17日記界面</b></p><p><
43、b> 財務(wù)總況界面如下:</b></p><p> 圖3.18財務(wù)總況界面</p><p> 財務(wù)清單列表界面如下:</p><p> 圖3.19財務(wù)清單列表界面</p><p><b> 收入情況界面如下:</b></p><p> 圖3.20收入情況界面</
44、p><p><b> 支出情況界面如下:</b></p><p> 圖3.21支出情況界面</p><p> 添加個人財務(wù)記錄界面如下:</p><p> 圖3.22添加個人財務(wù)記錄界面</p><p><b> 4系統(tǒng)實現(xiàn)與測試</b></p><
45、p><b> 4.1核心代碼</b></p><p><b> 通訊錄界面代碼</b></p><p> startList = function() {</p><p> if (document.all&&document.getElementById) {</p><
46、p> navRoot = document.getElementById("nav");</p><p> for (i=0; i<navRoot.childNodes.length; i++) {</p><p> node = navRoot.childNodes[i];</p><p> if (node.nodeNam
47、e=="LI") {</p><p> node.onmouseover=function() {</p><p> this.className+=" over";</p><p><b> }</b></p><p> node.onmouseout=function(
48、) {</p><p> this.className=this.className.replace(" over", "");</p><p><b> }</b></p><p><b> }</b></p><p> List<Commun
49、ication>rl=CommunicationDao.getPageContent(currPage,span,loginUserId);</p><p> for(Communication cr:rl)</p><p><b> {</b></p><p><b> <% </b></p>
50、;<p> if(currPage>1)</p><p><b> {</b></p><p><b> %></b></p><p> <a href="showCommunication.jsp?cp=<%= currPage-1 %>">&
51、lt;<上一頁</a></p><p><b> <%</b></p><p><b> }</b></p><p><b> %></b></p><p><b> <%</b></p><
52、p> for(int i=1;i<=totalPage;i++)</p><p><b> {</b></p><p> String s="";</p><p> if(i==currPage)</p><p><b> {</b></p>
53、<p> s="selected";</p><p><b> }</b></p><p><b> <% </b></p><p> if(currPage<totalPage)</p><p><b> {</b><
54、/p><p> %> }</p><p> doPost(request,response);</p><p><b> }</b></p><p><b> @Override</b></p><p> public void
55、 doPost(HttpServletRequest request,</p><p> HttpServletResponse response)</p><p> throws ServletException,</p><p> IOException</p><p><b> {</b></p>
56、;<p><b> try {</b></p><p> request.setCharacterEncoding("utf-8");</p><p> } catch (UnsupportedEncodingException e) {</p><p> // TODO Auto-generated
57、catch block</p><p> e.printStackTrace();</p><p><b> }</b></p><p> String action=request.getParameter("action");</p><p> String comId=request.g
58、etParameter("comId");</p><p> String userId=request.getParameter("userId");</p><p> if(action.equals("addCommunication"))</p><p> {//執(zhí)行添加通信記錄的業(yè)務(wù)操作&l
59、t;/p><p> //獲取傳過來的請求參數(shù)</p><p> String comName=request.getParameter("comName");</p><p> System.out.println("聯(lián)系人姓名:"+comName);</p><p> String commuPh
60、one=request.getParameter("commuPhone");</p><p> String commuQQ=request.getParameter("commQQ");</p><p> String commuJob=request.getParameter("commuJob");</p>
61、<p> String commuWorkPlace=request.getParameter("commuPhone");</p><p> String commuCity=request.getParameter("commuCity");</p><p> //將獲取的請求參數(shù)封裝起來</p><p&g
62、t; Communication communication=new Communication();</p><p> communication.setComId(comId);</p><p> communication.setCommuCity(commuCity);</p><p> communication.setCommuJob(commu
63、Job);</p><p> communication.setCommuPhone(commuPhone);</p><p> communication.setCommuQQ(commuQQ);</p><p> communication.setCommuWorkPlace(commuWorkPlace);</p><p> c
64、ommunication.setComName(comName);</p><p> communication.setUserId(userId);</p><p> CommunicationDao.addCommunication(communication);</p><p> //添加完日記后跳轉(zhuǎn)到showDiary.jsp頁面進(jìn)行用戶日記的顯示&l
65、t;/p><p> response.setContentType("text/html;charset=utf8");</p><p> request.getRequestDispatcher("/showCommunication.jsp").forward(request, response);</p><p><
66、;b> }</b></p><p> else if(action.equals("communicationDetail")){ </p><p> //執(zhí)行個人通信記錄的詳細(xì)查看</p><p> //獲取傳過來的請求參數(shù)</p><p> System.out.println("
67、;查看詳細(xì)通信錄中的信息action:"+action);</p><p> System.out.println("查看詳細(xì)通訊錄中的信息的comId:"+comId);</p><p> System.out.println("查看詳細(xì)通訊錄中的信息的userID:"+userId);</p><p> C
68、ommunication communicationDetail=CommunicationDao.findCommunicationByUserIdAndDid(userId, comId);</p><p> request.setAttribute("communicationDetail", communicationDetail);</p><p> re
69、sponse.setContentType("test/html;charset=utf8");</p><p> request.getRequestDispatcher("/CommunicationDetail.jsp").forward(request, response);</p><p><b> }</b>&l
70、t;/p><p><b> }</b></p><p><b> }</b></p><p> 個人財務(wù)管理界面代碼</p><p> startList = function() {</p><p> if (document.all&&documen
71、t.getElementById) {</p><p> navRoot = document.getElementById("nav");</p><p> for (i=0; i<navRoot.childNodes.length; i++) {</p><p> node = navRoot.childNodes[i];<
72、/p><p> if (node.nodeName=="LI") {</p><p> node.onmouseover=function() {</p><p> this.className+=" over";</p><p><b> }</b></p>&
73、lt;p> node.onmouseout=function() {</p><p> this.className=this.className.replace(" over", "");</p><p><b> }</b></p><p> window.onload=startLis
74、t;</p><p><b> <%</b></p><p> String cpStr=request.getParameter("cp");</p><p> int currPage=1;</p><p> if(cpStr!=null)</p><p>&
75、lt;b> {</b></p><p> currPage=Integer.parseInt(cpStr.trim());</p><p><b> }</b></p><p> int span=5;</p><p> User loginUser=(User)session.getAttr
76、ibute("loginUser");</p><p> String loginUserId=loginUser.getUserId();</p><p> int totalPage=FinancialDao.getTotal(span,loginUserId);</p><p> out.println(totalPage);<
77、/p><p><b> %></b></p><p><b> <%</b></p><p> String sql="select fId,inOrOut,project from financial where userId='"+loginUserId+"'
78、"+" order by ftime desc";</p><p> List<Financial>rl=FinancialDao.getPageContent(currPage,span,loginUserId,sql);</p><p> for(Financial fr:rl)</p><p><b>
79、 {</b></p><p><b> %></b></p><p><b> <% </b></p><p> if(currPage>1)</p><p><b> {</b></p><p><b>
80、 %></b></p><p><b> <%</b></p><p> for(int i=1;i<=totalPage;i++)</p><p><b> {</b></p><p> String s="";</p>&
81、lt;p> if(i==currPage)</p><p><b> {</b></p><p> s="selected";</p><p><b> }</b></p><p><b> 個人財務(wù)后臺代碼</b></p>&
82、lt;p> public class FinancialServlet extends HttpServlet </p><p> { public void doGet(HttpServletRequest request,</p><p> HttpServletResponse response)throws ServletException,<
83、/p><p> IOException</p><p><b> {</b></p><p> doPost(request,response);</p><p><b> }</b></p><p><b> @Override</b></
84、p><p> public void doPost(HttpServletRequest request,</p><p> HttpServletResponse response)</p><p> throws ServletException,</p><p> IOException</p><p>&l
85、t;b> {</b></p><p><b> try {</b></p><p> request.setCharacterEncoding("utf-8");</p><p> } catch (UnsupportedEncodingException e) {</p><p
86、> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p><p><b> }</b></p><p> String action=request.getParameter("action");</p><
87、p> String fId=request.getParameter("fId");</p><p> String userId=request.getParameter("userId");</p><p> if(action.equals("addFinancial"))</p><p>
88、; {//執(zhí)行添加財務(wù)記錄的業(yè)務(wù)操作</p><p> //獲取傳過來的請求參數(shù)</p><p> String inOrOut =request.getParameter("inOrOut");</p><p> String project=request.getParameter("project");</
89、p><p> String ftime=request.getParameter("ftime");</p><p> String fmoney=request.getParameter("fmoney");</p><p> //先將發(fā)過來的參數(shù)做類型轉(zhuǎn)換</p><p> float z_fm
90、oney=Float.parseFloat(fmoney);</p><p> int z_inOrOut=Integer.parseInt(inOrOut);</p><p> DateFormat format=new SimpleDateFormat("yyyy-MM-dd");</p><p> format.setLenient(
91、false);//指定日期/時間解析是否不嚴(yán)格。</p><p> Date ts=null;</p><p><b> try {</b></p><p> ts=new Date(format.parse(ftime).getTime());</p><p> } catch (ParseException
92、e) {</p><p> // TODO Auto-generated catch block</p><p> System.out.println("格式化ftime財務(wù)管理的日期出現(xiàn)錯誤。");</p><p> e.printStackTrace();</p><p><b> }</b&
93、gt;</p><p> System.out.println("FinancialServlet中將字符串轉(zhuǎn)換為timestamp類型:"+ts.toString());</p><p> //將當(dāng)前的系統(tǒng)時間設(shè)置給添加時間</p><p> Date faddtime=new Date(System.currentTimeMillis(
94、));</p><p> System.out.println("FinancialServlet中創(chuàng)建的系統(tǒng)當(dāng)前時間是"+faddtime);</p><p> //將獲取的請求參數(shù)封裝起來</p><p> Financial financial=new Financial();</p><p> financ
95、ial.setfId(fId);</p><p> financial.setUserId(userId);</p><p> financial.setInOrOut(z_inOrOut);</p><p> financial.setProject(project);</p><p> financial.setFtime(ts)
96、;</p><p> financial.setFaddtime(faddtime);</p><p> financial.setFmoney(z_fmoney);</p><p> //調(diào)用相應(yīng)的dao進(jìn)行數(shù)據(jù)的插入nancialList.jsp").forward(request, response);</p><p>
97、 FinancialDao.addFinancial(financial);</p><p> response.setContentType("test/html;charset=utf8");</p><p> request.getRequestDispatcher("/financialList.jsp").forward(reques
98、t, response);</p><p><b> }</b></p><p> else if(action.equals("financialDetail")){ </p><p> //執(zhí)行個人通信記錄的詳細(xì)查看</p><p> //獲取傳過來的請求參數(shù)</p>&l
99、t;p> System.out.println("查看詳細(xì)財務(wù)信息中的信息action:"+action);</p><p> System.out.println("查看詳細(xì)財務(wù)記錄中的信息的fId:"+fId);</p><p> System.out.println("查看詳細(xì)財務(wù)記錄中的信息的userID:"+
100、userId);</p><p> Financial financialDetail=FinancialDao.findFinancialByUserIdAndFid(userId, fId);</p><p> request.setAttribute("financialDetail", financialDetail);</p><p&g
101、t; response.setContentType("test/html;charset=utf8");</p><p> request.getRequestDispatcher("/FinancialDetail.jsp").forward(request, response);</p><p><b> }</b>
102、</p><p><b> }</b></p><p><b> }</b></p><p><b> 4.2系統(tǒng)測試方案</b></p><p><b> 4.2.1測試原則</b></p><p> 測試應(yīng)該“盡早地和
103、不斷地進(jìn)行”。測試規(guī)模由小到大。</p><p><b> 4.2.2測試方法</b></p><p> 采用邊寫代碼邊測試并進(jìn)行改正。</p><p> 4.2.3測試項目說明</p><p><b> 以登錄測試為例</b></p><p><b>
104、4.3系統(tǒng)評價</b></p><p> 在測試之前先設(shè)定測試計劃,然后再按照測試計劃不斷的進(jìn)行測試,發(fā)現(xiàn)了問題,找出問題,對出錯的地方進(jìn)行分析更改代碼,再進(jìn)行測試,直到能夠完成既定的功能。</p><p><b> 5 總結(jié)</b></p><p><b> 5.1發(fā)現(xiàn)的問題</b></p>
105、;<p> 在這次畢業(yè)設(shè)計中,遇到了許多問題,印象比較深刻的是空指針的錯誤,不過通過對程序的運行進(jìn)行跟蹤最后都找出了出現(xiàn)問題的地方并進(jìn)行了更改。</p><p><b> 5.2設(shè)計體會</b></p><p> 本系統(tǒng)內(nèi)的五個模塊都采用了統(tǒng)一的模板頁,這樣設(shè)計比較容易維修,也體現(xiàn)了設(shè)計的方便性。本系統(tǒng)的設(shè)計還采用了mvc的設(shè)計模式,這樣設(shè)計可以充
106、分發(fā)揮servlet的控制器。</p><p> 在這次畢業(yè)設(shè)計中,遇到了很多意想不到的問題,每次通過跟蹤程序的運行過程進(jìn)行錯誤分析時都會對以前學(xué)習(xí)的知識進(jìn)行鞏固并加深了理解。可以說這樣不僅鞏固了學(xué)習(xí)的知識同時在解決問題的過程中還鍛煉了自己獨立解決問題的能力。</p><p><b> 主要參考文獻(xiàn)</b></p><p> [1] 明日
107、科技.Java從入門到精通(第三版),清華大學(xué)出版社2003.6</p><p> [2] 劉俊亮,王清華.JSP Web開發(fā)學(xué)習(xí)實錄,清華大學(xué)出版社2004.3</p><p> [3] 葉核亞,陳道蓄.Java程序設(shè)計實用教程(第3版),電子工業(yè)出版社</p><p> [4] 孫晨霞,楊興運.Java程序設(shè)計,中國計劃出版社,2006.6</p&g
108、t;<p> [5]龔曉慶,張遠(yuǎn)軍,陳峰面向?qū)ο笙到y(tǒng)分析(第2版),清華大學(xué)出版社,2002.3</p><p> [6]李興華,王月清.Java Web開發(fā)實戰(zhàn)經(jīng)典,清華大學(xué)出版社,2000.8</p><p> [7]孫晨霞,馬建斌,李閱歷.數(shù)據(jù)庫應(yīng)用技術(shù),北京郵電大學(xué)出版社,2006.2</p><p> [8] 柏亞軍.JSP編程技巧,
109、北京機(jī)械工業(yè)出版社,2008.9</p><p><b> 致 謝</b></p><p> 經(jīng)過三個多月的設(shè)計和開發(fā),在指導(dǎo)張老師的指導(dǎo)下,個人信息系統(tǒng)基本開發(fā)完畢。其功能基本符合用戶需求,能夠完成個人信息,備忘錄,通信錄,日記,財務(wù)這幾個模塊的管理。并提供部分系統(tǒng)維護(hù)功能,使用戶方便進(jìn)行數(shù)據(jù)備份和恢復(fù)、數(shù)據(jù)刪除。</p><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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程畢業(yè)論文-車票預(yù)訂信息系統(tǒng)的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-車票預(yù)定信息系統(tǒng)的設(shè)計與實現(xiàn)——后臺管理
- 軟件工程畢業(yè)論文-車票預(yù)定信息系統(tǒng)的設(shè)計與實現(xiàn)——前臺管理
- 軟件工程畢業(yè)論文-植物管理信息系統(tǒng)——檢索模塊的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-土地綜合整治管理信息系統(tǒng)的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-植物管理信息系統(tǒng)-管理模塊的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-農(nóng)業(yè)信息發(fā)布系統(tǒng)-信息檢索的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-醫(yī)院管理信息系統(tǒng)的設(shè)計與實現(xiàn)--網(wǎng)上預(yù)約模塊
- 軟件工程畢業(yè)論文-農(nóng)業(yè)信息發(fā)布系統(tǒng)-后臺設(shè)計與實現(xiàn)
- 個人信息系統(tǒng)的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-學(xué)生信息管理系統(tǒng)的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-個人博客系統(tǒng)的設(shè)計與開發(fā)
- 軟件工程畢業(yè)論文-黨務(wù)cms系統(tǒng)設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-庫存管理系統(tǒng)的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-實時路況系統(tǒng)的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-預(yù)約掛號系統(tǒng)的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-房屋租賃信息管理系統(tǒng)的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-學(xué)生管理系統(tǒng)的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文服裝銷售系統(tǒng)的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-駕校管理系統(tǒng)的設(shè)計與實現(xiàn)
評論
0/150
提交評論