軟件工程畢業(yè)論文-個(gè)人信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
已閱讀1頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p>  個(gè)人信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  個(gè)人信息系統(tǒng)</b></p><p><b>  摘要</b></p&g

2、t;<p>  隨著互聯(lián)網(wǎng)的高速發(fā)展,人們生活水平的提高,越來(lái)越來(lái)注重個(gè)人信息的管理。以信息技術(shù)為基礎(chǔ),信息技術(shù)對(duì)社會(huì)進(jìn)步與國(guó)民經(jīng)濟(jì)發(fā)展起著越來(lái)越大的促進(jìn)作用,并對(duì)傳統(tǒng)的思想觀念與工作方式帶來(lái)了巨大的沖擊。在信息化時(shí)代,計(jì)算機(jī)已經(jīng)進(jìn)入了各行各業(yè),同時(shí)也促進(jìn)了各行各業(yè)的發(fā)展,因此,像以前的手工操作已經(jīng)不可取了。個(gè)人管理系統(tǒng)的計(jì)算機(jī)軟件開發(fā)是勢(shì)在必行,如何利用先進(jìn)的管理手段,提高人們信息管理的水平,是當(dāng)今社會(huì)所面臨的一個(gè)課題。

3、提高個(gè)人管理水平,必須全方位地提高個(gè)人管理意識(shí)。只有高標(biāo)準(zhǔn)、高質(zhì)量的管理才能滿足企業(yè)的發(fā)展需求。面對(duì)信息時(shí)代的挑戰(zhàn),利用高科技手段來(lái)提高人們信息管理無(wú)疑是一條行之有效的途徑。在某種意義上,信息與科技在企業(yè)管理與現(xiàn)代化建設(shè)中顯現(xiàn)出越來(lái)越重要的地位。個(gè)人管理方面的信息化與科學(xué)化,已成為現(xiàn)代化生活水平步入高臺(tái)階的重要標(biāo)志。 </p><p>  關(guān)鍵詞:信息管理 個(gè)人信息系統(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運(yùn)行需求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個(gè)人信息用例圖5</p><p>  2.7.4通訊錄用例圖5</p><p>  2.7.5備忘錄用例圖5</p><p>  2.7.6日記管理用例圖6</p><p>  2.7.7財(cái)務(wù)管理用例圖6</p><p><b&g

11、t;  3 系統(tǒng)設(shè)計(jì)8</b></p><p>  3.1系統(tǒng)功能設(shè)計(jì)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ù)庫(kù)設(shè)計(jì)9</p><p> 

12、 3.2.1數(shù)據(jù)描述9</p><p>  3.3數(shù)據(jù)庫(kù)描述11</p><p>  3.4數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)11</p><p>  3.5數(shù)據(jù)庫(kù)的物理設(shè)計(jì)12</p><p>  3.6系統(tǒng)界面設(shè)計(jì)14</p><p>  4系統(tǒng)實(shí)現(xiàn)與測(cè)試18</p><p>  4.1核心代碼

13、18</p><p>  4.2系統(tǒng)測(cè)試方案29</p><p>  4.2.1測(cè)試原則29</p><p>  4.2.2測(cè)試方法29</p><p>  4.2.3測(cè)試項(xiàng)目說(shuō)明29</p><p>  4.3系統(tǒng)評(píng)價(jià)29</p><p><b>  5 總結(jié)30<

14、;/b></p><p>  5.1發(fā)現(xiàn)的問(wèn)題30</p><p>  5.2設(shè)計(jì)體會(huì)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)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)個(gè)人信息進(jìn)行管理,具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)個(gè)人信息管理系統(tǒng)能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以?lái)人們使用傳統(tǒng)人工的方式管理

16、文件信息,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻能夠極大地提高個(gè)人管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件是很有必要的。</p><p>  個(gè)人信息管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后

17、臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性較好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。經(jīng)過(guò)分析,我們使用 Eclipse開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。整個(gè)系統(tǒng)從符合操作簡(jiǎn)便、界面友好、靈活、實(shí)用、安全的要求出發(fā)。本文主要介紹了個(gè)人信息管理系

18、統(tǒng)的開發(fā)背景,所要完成的功能和開發(fā)的過(guò)程。主要說(shuō)明了系統(tǒng)設(shè)計(jì)的重點(diǎn)、設(shè)計(jì)思想、難點(diǎn)技術(shù)和解決方案。</p><p><b>  2 系統(tǒng)分析</b></p><p><b>  2.1操作系統(tǒng)</b></p><p>  本系統(tǒng)是建立在Java基礎(chǔ)上開發(fā)的,因此,對(duì)開發(fā)環(huán)境的操作系統(tǒng)沒(méi)有特別需求,在此,本系統(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ù)庫(kù)管理系統(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)行財(cái)務(wù)管理實(shí)體

21、表的設(shè)計(jì)時(shí)將總收入,消費(fèi)金額的數(shù)據(jù)精度是小數(shù)點(diǎn)后四位。</p><p><b>  2.3.2適應(yīng)性</b></p><p>  該系統(tǒng)適合各類人群使用。</p><p><b>  2.4運(yùn)行需求</b></p><p><b>  2.4.1用戶界面</b></p&g

22、t;<p>  采用b/s架構(gòu),界面由jsp設(shè)計(jì)實(shí)現(xiàn),頁(yè)面導(dǎo)航將各個(gè)界面鏈接起來(lái),簡(jiǎn)單明了。</p><p><b>  2.4.2硬件接口</b></p><p>  要將本系統(tǒng)發(fā)布在網(wǎng)上需要運(yùn)行服務(wù)器的主機(jī)上裝有網(wǎng)卡同時(shí)還要聯(lián)網(wǎng)。</p><p><b>  2.5系統(tǒng)功能規(guī)劃</b></p>

23、<p>  用戶可以通過(guò)注冊(cè)一個(gè)用戶來(lái)對(duì)個(gè)人的通訊錄信息,包括通訊人姓名、聯(lián)系方式、工作地點(diǎn)、城市、備注等;備忘錄信息,包括什么時(shí)間、事件、地點(diǎn)等;日記信息;包括時(shí)間、地點(diǎn)、事情、人物等;個(gè)人財(cái)物管理,包括總收入,消費(fèi)項(xiàng)目、消費(fèi)金額、消費(fèi)時(shí)間、剩余資金等。個(gè)人信息進(jìn)行相關(guān)的處理。</p><p>  本系統(tǒng)提供的主要功能:</p><p>  (1)能對(duì)通信錄信息進(jìn)行查看添加

24、。</p><p>  (2)能對(duì)備忘錄信息進(jìn)行添加查看。</p><p>  (3)能對(duì)日記信息進(jìn)行添加查看。</p><p>  (4)能對(duì)個(gè)人財(cái)務(wù)信息進(jìn)行添加查看匯總收入支出的分類的查看。</p><p>  (5)能對(duì)個(gè)人信息進(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>  用戶登錄注冊(cè)和用戶的注銷:是該系統(tǒng)的公共的功能部分。該部分主要負(fù)責(zé)對(duì)用戶登錄狀態(tài)的信息的存儲(chǔ)和傳遞。要實(shí)現(xiàn)這些功能需要借助session技術(shù)來(lái)實(shí)現(xiàn)。</

26、p><p>  圖2.2用戶登錄用例圖</p><p>  2.7.3個(gè)人信息用例圖</p><p>  個(gè)人信息管理模塊:該模塊主要的任務(wù)是實(shí)現(xiàn)對(duì)用戶個(gè)人自己信息的管理,包括對(duì)個(gè)人信息的修改和查看。</p><p>  圖2.3個(gè)人信息用例圖</p><p>  2.7.4通訊錄用例圖</p><p&

27、gt;  通訊錄管理模塊:該模塊主要的任務(wù)是實(shí)現(xiàn)對(duì)用戶的個(gè)人通訊錄的管理,包括對(duì)通信錄的添加查看功能。</p><p>  圖2.4通訊錄用例圖</p><p>  2.7.5備忘錄用例圖</p><p>  備忘錄管理模塊:該模塊主要的任務(wù)是實(shí)現(xiàn)對(duì)用戶的備忘錄的管理,包括對(duì)備忘錄的添加和查看的功能。</p><p>  圖2.5備忘錄用例圖

28、</p><p>  2.7.6日記管理用例圖</p><p>  日記管理模塊:該模塊主要的任務(wù)是實(shí)現(xiàn)對(duì)用戶的個(gè)人日記的管理,包括對(duì)日記的添加和查看的功能。</p><p>  圖2.6日記管理用例圖</p><p>  2.7.7財(cái)務(wù)管理用例圖</p><p>  財(cái)務(wù)管理模塊:該模塊主要的任務(wù)是實(shí)現(xiàn)對(duì)用戶的個(gè)人財(cái)

29、務(wù)狀況的管理,包括對(duì)個(gè)人財(cái)務(wù)總況的的顯示,財(cái)務(wù)狀況的詳細(xì)情況的查看,查看個(gè)人收入支出的詳細(xì)情況,添加個(gè)人財(cái)務(wù)信息的功能。</p><p>  圖2.7財(cái)務(wù)管理用例圖</p><p><b>  3 系統(tǒng)設(shè)計(jì)</b></p><p><b>  3.1系統(tǒng)功能設(shè)計(jì)</b></p><p>  3.1.

30、1系統(tǒng)功能劃分</p><p>  根據(jù)用戶使用用戶管理系統(tǒng)時(shí)管理的信息的類別的不同可以分為以下幾個(gè)模塊分別是:個(gè)人信息,備忘錄,通信錄,日記,財(cái)務(wù)管理。</p><p>  3.1.2系統(tǒng)功能描述</p><p>  個(gè)人信息管理系統(tǒng)主要由:個(gè)人信息管理、備忘錄管理、通訊錄管理、日記管理、財(cái)務(wù)管理等模塊組成。進(jìn)入該系統(tǒng)后,用戶可以對(duì)系統(tǒng)中的信息進(jìn)行添加、修改、和查

31、詢等操作。包括以下功能:</p><p>  3.1.3系統(tǒng)功能結(jié)構(gòu)圖</p><p><b>  3.2數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b>  3.2.1數(shù)據(jù)描述</b></p><p>  在需求分析后,就可以設(shè)計(jì)出能夠滿足用戶需求的各類實(shí)體,以及它們之間的關(guān)系,為后面的設(shè)計(jì)打下基礎(chǔ)。這

32、些實(shí)體包含各種具體的信息,通過(guò)相互之間的作用形成數(shù)據(jù)的流動(dòng)。</p><p>  根據(jù)上面的分析規(guī)劃出的實(shí)體有:用戶信息實(shí)體、通訊錄信息實(shí)體、日記信息實(shí)體、財(cái)務(wù)信息實(shí)體、備忘錄信息實(shí)體。系統(tǒng)中的各個(gè)信息實(shí)體的e-r圖如下面的圖。</p><p>  圖3.2個(gè)人信息實(shí)體</p><p>  圖3.4財(cái)務(wù)管理信息實(shí)體</p><p>  圖3.

33、5通訊錄信息實(shí)體</p><p>  圖3.6日記信息實(shí)體 </p><p><b>  3.3數(shù)據(jù)庫(kù)描述</b></p><p>  根據(jù)數(shù)據(jù)庫(kù)原理,并結(jié)合以上E-R圖,經(jīng)轉(zhuǎn)換,可以導(dǎo)出各個(gè)關(guān)系。其轉(zhuǎn)化規(guī)則為首先每個(gè)實(shí)體應(yīng)該轉(zhuǎn)換成一個(gè)關(guān)系,有屬性的聯(lián)系也應(yīng)轉(zhuǎn)化為一個(gè)關(guān)系然且需要給出每個(gè)關(guān)系的關(guān)鍵字。根據(jù)

34、以上規(guī)則直接給出所有關(guān)系。</p><p>  個(gè)人信息(用戶ID號(hào),用戶密碼,姓名,年齡,出生日期,電話號(hào)碼,QQ,工作,地址)關(guān)鍵字為用戶ID號(hào)。</p><p>  日志(標(biāo)識(shí),日期,地點(diǎn),日記標(biāo)題,備注)關(guān)鍵字為標(biāo)識(shí)。</p><p>  通訊錄(標(biāo)識(shí),名字,性別,關(guān)系,添加時(shí)間,電話, QQ,出生日期,工作,地址,城市)關(guān)鍵字為標(biāo)識(shí)。</p>

35、<p>  備忘錄(標(biāo)識(shí),時(shí)間,記錄時(shí)間,地點(diǎn),備注)關(guān)鍵字為標(biāo)識(shí)。</p><p>  財(cái)務(wù)管理(標(biāo)志,日期,項(xiàng)目,添加時(shí)間,數(shù)額,收入/支出)關(guān)鍵字為標(biāo)識(shí)。</p><p>  在得出以上關(guān)系后,根據(jù)關(guān)系數(shù)據(jù)庫(kù)的理論要求,需要對(duì)所有的關(guān)系進(jìn)行關(guān)系規(guī)范化,至少要求各個(gè)關(guān)系達(dá)到第三范式的要求。按照第三范式的要求對(duì)比以上各個(gè)關(guān)系,在所有關(guān)系中都不存在非主屬性對(duì)關(guān)鍵字的部分依賴,即

36、滿足第三范式。</p><p>  3.4數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)邏各個(gè)關(guān)系,現(xiàn)把它們轉(zhuǎn)化為數(shù)據(jù)表。</p><p>  用戶信息表:用戶ID號(hào),用戶密碼,姓名,年齡,出生日期,電話號(hào)碼,QQ,工作,地址。輯設(shè)計(jì)即把得到的滿足第三范式的關(guān)系轉(zhuǎn)化為特定的數(shù)據(jù)庫(kù)系統(tǒng)下的數(shù)據(jù)表。根據(jù)前面得到的。</p><p>  日志表:

37、標(biāo)識(shí),日期,地點(diǎn),日記標(biāo)題,備注。</p><p>  通訊錄表:標(biāo)識(shí),姓名,性別,關(guān)系,添加時(shí)間,電話, QQ,出生日期,工作,地址,城市。</p><p>  備忘錄表:標(biāo)識(shí),日期,記錄時(shí)間,地點(diǎn),備注。</p><p>  財(cái)務(wù)管理表:標(biāo)志,日期,項(xiàng)目,添加時(shí)間,數(shù)額,收入/支出。</p><p>  圖3.7數(shù)據(jù)庫(kù)邏輯關(guān)系圖</

38、p><p>  3.5數(shù)據(jù)庫(kù)的物理設(shè)計(jì)</p><p>  在完成數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)后,即可以開始數(shù)據(jù)庫(kù)的物理設(shè)計(jì)?;谝陨蠑?shù)據(jù)庫(kù)的邏輯設(shè)計(jì),考慮程序設(shè)計(jì)的簡(jiǎn)易性及通用性,本個(gè)人信息管理系統(tǒng)采用Oracle數(shù)據(jù)庫(kù),并在其下創(chuàng)建5個(gè)數(shù)據(jù)表,其結(jié)構(gòu)分別如下:</p><p>  個(gè)人信息表, 其字段列表如圖3.8所示:</p><p><b>

39、;  圖3.8個(gè)人信息表</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) 財(cái)務(wù)管理表, 其字段列表如圖3.12所示:</p><p>  圖3.12財(cái)務(wù)管理表</p><p><b>  3.6系統(tǒng)界面設(shè)計(jì)</b></p><p>

41、<b>  用戶登錄界面如下:</b></p><p>  圖3.13用戶登錄界面</p><p><b>  個(gè)人信息界面如下:</b></p><p>  圖3.14個(gè)人信息界面</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>  財(cái)務(wù)總況界面如下:</b></p><p>  圖3.18財(cái)務(wù)總況界面</p><p>  財(cái)務(wù)清單列表界面如下:</p><p>  圖3.19財(cái)務(wù)清單列表界面</p><p><b>  收入情況界面如下:</b></p><p>  圖3.20收入情況界面</

44、p><p><b>  支出情況界面如下:</b></p><p>  圖3.21支出情況界面</p><p>  添加個(gè)人財(cái)務(wù)記錄界面如下:</p><p>  圖3.22添加個(gè)人財(cái)務(wù)記錄界面</p><p><b>  4系統(tǒng)實(shí)現(xiàn)與測(cè)試</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;<上一頁(yè)</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>  //獲取傳過(guò)來(lái)的請(qǐng)求參數(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>  //將獲取的請(qǐng)求參數(shù)封裝起來(lái)</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頁(yè)面進(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í)行個(gè)人通信記錄的詳細(xì)查看</p><p>  //獲取傳過(guò)來(lái)的請(qǐng)求參數(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>  個(gè)人財(cái)務(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>  個(gè)人財(cái)務(wù)后臺(tái)代碼</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í)行添加財(cái)務(wù)記錄的業(yè)務(wù)操作</p><p>  //獲取傳過(guò)來(lái)的請(qǐng)求參數(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ā)過(guò)來(lái)的參數(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);//指定日期/時(shí)間解析是否不嚴(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財(cái)務(wù)管理的日期出現(xiàn)錯(cuò)誤。");</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í)間設(shè)置給添加時(shí)間</p><p>  Date faddtime=new Date(System.currentTimeMillis(

94、));</p><p>  System.out.println("FinancialServlet中創(chuàng)建的系統(tǒng)當(dāng)前時(shí)間是"+faddtime);</p><p>  //將獲取的請(qǐng)求參數(shù)封裝起來(lái)</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í)行個(gè)人通信記錄的詳細(xì)查看</p><p>  //獲取傳過(guò)來(lái)的請(qǐng)求參數(shù)</p>&l

99、t;p>  System.out.println("查看詳細(xì)財(cái)務(wù)信息中的信息action:"+action);</p><p>  System.out.println("查看詳細(xì)財(cái)務(wù)記錄中的信息的fId:"+fId);</p><p>  System.out.println("查看詳細(xì)財(cái)務(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)測(cè)試方案</b></p><p><b>  4.2.1測(cè)試原則</b></p><p>  測(cè)試應(yīng)該“盡早地和

103、不斷地進(jìn)行”。測(cè)試規(guī)模由小到大。</p><p><b>  4.2.2測(cè)試方法</b></p><p>  采用邊寫代碼邊測(cè)試并進(jìn)行改正。</p><p>  4.2.3測(cè)試項(xiàng)目說(shuō)明</p><p><b>  以登錄測(cè)試為例</b></p><p><b>  

104、4.3系統(tǒng)評(píng)價(jià)</b></p><p>  在測(cè)試之前先設(shè)定測(cè)試計(jì)劃,然后再按照測(cè)試計(jì)劃不斷的進(jìn)行測(cè)試,發(fā)現(xiàn)了問(wèn)題,找出問(wèn)題,對(duì)出錯(cuò)的地方進(jìn)行分析更改代碼,再進(jìn)行測(cè)試,直到能夠完成既定的功能。</p><p><b>  5 總結(jié)</b></p><p><b>  5.1發(fā)現(xiàn)的問(wèn)題</b></p>

105、;<p>  在這次畢業(yè)設(shè)計(jì)中,遇到了許多問(wèn)題,印象比較深刻的是空指針的錯(cuò)誤,不過(guò)通過(guò)對(duì)程序的運(yùn)行進(jìn)行跟蹤最后都找出了出現(xiàn)問(wèn)題的地方并進(jìn)行了更改。</p><p><b>  5.2設(shè)計(jì)體會(huì)</b></p><p>  本系統(tǒng)內(nèi)的五個(gè)模塊都采用了統(tǒng)一的模板頁(yè),這樣設(shè)計(jì)比較容易維修,也體現(xiàn)了設(shè)計(jì)的方便性。本系統(tǒng)的設(shè)計(jì)還采用了mvc的設(shè)計(jì)模式,這樣設(shè)計(jì)可以充

106、分發(fā)揮servlet的控制器。</p><p>  在這次畢業(yè)設(shè)計(jì)中,遇到了很多意想不到的問(wèn)題,每次通過(guò)跟蹤程序的運(yùn)行過(guò)程進(jìn)行錯(cuò)誤分析時(shí)都會(huì)對(duì)以前學(xué)習(xí)的知識(shí)進(jìn)行鞏固并加深了理解??梢哉f(shuō)這樣不僅鞏固了學(xué)習(xí)的知識(shí)同時(shí)在解決問(wèn)題的過(guò)程中還鍛煉了自己獨(dú)立解決問(wèn)題的能力。</p><p><b>  主要參考文獻(xiàn)</b></p><p>  [1] 明日

107、科技.Java從入門到精通(第三版),清華大學(xué)出版社2003.6</p><p>  [2] 劉俊亮,王清華.JSP Web開發(fā)學(xué)習(xí)實(shí)錄,清華大學(xué)出版社2004.3</p><p>  [3] 葉核亞,陳道蓄.Java程序設(shè)計(jì)實(shí)用教程(第3版),電子工業(yè)出版社</p><p>  [4] 孫晨霞,楊興運(yùn).Java程序設(shè)計(jì),中國(guó)計(jì)劃出版社,2006.6</p&g

108、t;<p>  [5]龔曉慶,張遠(yuǎn)軍,陳峰面向?qū)ο笙到y(tǒng)分析(第2版),清華大學(xué)出版社,2002.3</p><p>  [6]李興華,王月清.Java Web開發(fā)實(shí)戰(zhàn)經(jīng)典,清華大學(xué)出版社,2000.8</p><p>  [7]孫晨霞,馬建斌,李閱歷.數(shù)據(jù)庫(kù)應(yīng)用技術(shù),北京郵電大學(xué)出版社,2006.2</p><p>  [8] 柏亞軍.JSP編程技巧,

109、北京機(jī)械工業(yè)出版社,2008.9</p><p><b>  致 謝</b></p><p>  經(jīng)過(guò)三個(gè)多月的設(shè)計(jì)和開發(fā),在指導(dǎo)張老師的指導(dǎo)下,個(gè)人信息系統(tǒng)基本開發(fā)完畢。其功能基本符合用戶需求,能夠完成個(gè)人信息,備忘錄,通信錄,日記,財(cái)務(wù)這幾個(gè)模塊的管理。并提供部分系統(tǒng)維護(hù)功能,使用戶方便進(jìn)行數(shù)據(jù)備份和恢復(fù)、數(shù)據(jù)刪除。</p><p>  

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論