JavaEE課程設(shè)計(jì)個(gè)人賬務(wù)統(tǒng)計(jì)_第1頁
JavaEE課程設(shè)計(jì)個(gè)人賬務(wù)統(tǒng)計(jì)_第2頁
JavaEE課程設(shè)計(jì)個(gè)人賬務(wù)統(tǒng)計(jì)_第3頁
JavaEE課程設(shè)計(jì)個(gè)人賬務(wù)統(tǒng)計(jì)_第4頁
JavaEE課程設(shè)計(jì)個(gè)人賬務(wù)統(tǒng)計(jì)_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟 件 學(xué) 院課程設(shè)計(jì)報(bào)告書課程名稱 Java EE 與中間件 設(shè)計(jì)題目 個(gè)人賬務(wù)統(tǒng)計(jì)系統(tǒng) 專業(yè)班級 軟件工程10-04班 學(xué) 號(hào) 1020010432 姓 名 張小龍 指導(dǎo)教師 劉佳旭 2013年 1 月目 錄1 設(shè)計(jì)時(shí)間22 設(shè)計(jì)目的23設(shè)計(jì)任務(wù)24 設(shè)計(jì)內(nèi)容24.1需求分析24.1.1總體目標(biāo)24.1.2具體目標(biāo)34.1.3系統(tǒng)數(shù)據(jù)建模(ER圖)44.1.4系統(tǒng)功能建模(數(shù)據(jù)流程圖)44.1.5數(shù)據(jù)字典54.2總體設(shè)計(jì)74.3詳細(xì)設(shè)計(jì)94.3.1模塊詳細(xì)設(shè)計(jì)94.3.2流程設(shè)計(jì)124.4運(yùn)行與測試134.5主要源代碼185 總結(jié)與展望24參考文獻(xiàn)25成績評定251 設(shè)計(jì)時(shí)間 2013年1

2、月21日2013年1月24日2 設(shè)計(jì)目的JavaEE課程設(shè)計(jì)是對所學(xué)JavaEE與中間件課程的小結(jié),是提高學(xué)生對所學(xué)知識(shí)綜合應(yīng)用能力的一種方式,是集中實(shí)踐性環(huán)節(jié)之一。要求同學(xué)們對課程中所學(xué)習(xí)到的知識(shí)綜合運(yùn)用,開發(fā)有一定規(guī)模的Java Web程序。3設(shè)計(jì)任務(wù) 個(gè)人賬務(wù)統(tǒng)計(jì)系統(tǒng)設(shè)計(jì)任務(wù): (一)必備功能說明: 功能描述:用戶以合法身份登錄系統(tǒng)后,才能進(jìn)行所有操作;用戶可以添加、查看和刪除賬務(wù)信息(賬務(wù)類型(包括支出和收入兩種)、數(shù)額(人民幣)、日期、備注(存儲(chǔ)說明信息,如購買了什么東西,或發(fā)了工資還是福利津貼等);用戶可以統(tǒng)計(jì)某個(gè)時(shí)間段內(nèi)的支出總貨幣數(shù)目和收入總貨幣數(shù)目。 添加賬務(wù)信息 查看賬務(wù)信

3、息 刪除賬務(wù)信息 分別統(tǒng)計(jì)某個(gè)時(shí)間段內(nèi)的收入和支出總額 (二)開發(fā)語言與開發(fā)環(huán)境: MyEclipse、Java、數(shù)據(jù)庫(sqlserver2000、mysql、oracle等任選一種)4 設(shè)計(jì)內(nèi)容4.1需求分析總體目標(biāo)本系統(tǒng)是針對用戶要求,使用計(jì)算機(jī)對自己日常的資金的收入、支出以及相關(guān)的各種信息進(jìn)行記錄、修改、添加、刪除、統(tǒng)計(jì)等操作,并實(shí)現(xiàn)對信息進(jìn)行統(tǒng)計(jì)設(shè)計(jì)的一種現(xiàn)代化個(gè)人財(cái)務(wù)管理軟件。經(jīng)過分析,本系統(tǒng)需要具有以下功能:1)能夠?qū)崿F(xiàn)個(gè)人財(cái)務(wù)管理方面各項(xiàng)功能,能成功的對用戶各種信息進(jìn)行管理。2)實(shí)現(xiàn)查詢、統(tǒng)計(jì)、刪除、添加數(shù)據(jù)方便,數(shù)據(jù)的穩(wěn)定性和可靠性好。3)能夠?qū)崿F(xiàn)按日期查詢。4)擁有良好的人

4、機(jī)交互界面。具體目標(biāo)本系統(tǒng)具有以下幾個(gè)功能模塊:用戶登錄模塊、查看賬務(wù)信息模塊、添加賬務(wù)信息模塊、刪除賬務(wù)信息模塊、統(tǒng)計(jì)賬務(wù)信息模塊。用戶登錄模塊為用戶分配賬號(hào)密碼使得個(gè)人的財(cái)務(wù)信息具有隱私性,收支管理各個(gè)模塊能有效的管理用戶的現(xiàn)金,可以進(jìn)行添加,查詢,刪除操作,統(tǒng)計(jì)模塊使得用戶能夠查詢用戶一段時(shí)間的收支情況。各個(gè)功能模塊描述:1) 用戶登錄模塊:系統(tǒng)正常登錄,并跳轉(zhuǎn)到主頁面。2) 查看賬務(wù)信息模塊:系統(tǒng)正常顯示所有存儲(chǔ)的信息。3) 添加賬務(wù)信息模塊:系統(tǒng)正常添加所輸入的信息。4) 刪除賬務(wù)信息模塊:系統(tǒng)正常刪除所要?jiǎng)h除的項(xiàng)目。5) 統(tǒng)計(jì)賬務(wù)信息模塊:系統(tǒng)正常統(tǒng)計(jì)所輸入的時(shí)間段內(nèi)的收入與支出賬

5、務(wù)。對于個(gè)人財(cái)務(wù)管理系統(tǒng),我們要求軟件滿足用戶對個(gè)人財(cái)務(wù)的隱私性管理,確保在用戶以外的其他人使用軟件對其信息進(jìn)行操作,所以要采用用戶注冊和登錄制度,確保用戶對自己財(cái)務(wù)信息的隱私管理。性能需求:穩(wěn)定性:本系統(tǒng)為財(cái)務(wù)管理系統(tǒng),多為查詢、修改、刪除、添加數(shù)據(jù)等操作,要求數(shù)據(jù)的穩(wěn)定性好??煽啃裕河脩糌?cái)務(wù)數(shù)據(jù)多比較重要,要求系統(tǒng)具有數(shù)據(jù)備份,數(shù)據(jù)恢復(fù)等性能。安全性:系統(tǒng)設(shè)計(jì)個(gè)人銀行賬號(hào)以及密碼的保存,要求系統(tǒng)提供加密保存等安全措施,即要求系統(tǒng)有較高的安全性能。系統(tǒng)數(shù)據(jù)建模(ER圖)圖4-1 系統(tǒng)ER圖系統(tǒng)功能建模(數(shù)據(jù)流程圖)簡稱DFD,它用來描述目標(biāo)系統(tǒng)的邏輯結(jié)構(gòu),它是由實(shí)體部分,處理部分,數(shù)據(jù)存儲(chǔ)部

6、分和數(shù)據(jù)流四部分組成。圖4-2 頂層數(shù)據(jù)流程圖圖4-3 一層數(shù)據(jù)流程圖數(shù)據(jù)字典數(shù)據(jù)字典是對數(shù)據(jù)流圖的解釋和說明,包含的內(nèi)容如下:數(shù)據(jù)元素: 表4-1 數(shù)據(jù)元素表 數(shù)據(jù)元素名 類型 長度 說明用戶名 字符型 50 用戶登錄的名字 密碼 字符型 50 用戶登錄的密碼 ID 整形 8 賬務(wù)的編號(hào) 日期 日期型 8 賬務(wù)的記錄日期 類型 字符型 50 賬務(wù)的類型,分為收入與支出 數(shù)額 雙精度浮點(diǎn)數(shù) 8 賬務(wù)的金額,單位元 備注 字符型 50 賬務(wù)的相關(guān)備注信息數(shù)據(jù)流:表4-2 數(shù)據(jù)流表 數(shù)據(jù)流名 來源 去向 簡述用戶信息 用戶 用戶信息表 用戶個(gè)人基本信息賬務(wù)信息 用戶 賬務(wù)信息表 用戶賬務(wù)相關(guān)信息數(shù)

7、據(jù)存儲(chǔ):表4-3 數(shù)據(jù)存儲(chǔ)表 數(shù)據(jù)存儲(chǔ)名 簡述 組成 用戶信息表 用戶登錄的用戶名和密碼 用戶名+密碼 賬務(wù)信息表 用戶的賬務(wù)信息 ID+日期+類型+數(shù)額+備注4.2總體設(shè)計(jì) 一、系統(tǒng)層次圖個(gè)人賬務(wù)統(tǒng)計(jì)系統(tǒng)統(tǒng)計(jì)賬務(wù)信息模塊刪除賬務(wù)信息模塊賬務(wù)管理添加賬務(wù)信息模塊查看賬務(wù)信息模塊用戶登錄模塊用戶登錄圖4-4 系統(tǒng)層次圖 二、數(shù)據(jù)庫設(shè)計(jì)本系統(tǒng)包含兩個(gè)數(shù)據(jù)庫表,分別是t_user 和ConsumeRecord。下面是兩個(gè)數(shù)據(jù)庫表的設(shè)計(jì)和錄入內(nèi)容的截圖:1) t_user表圖4-5 t_user設(shè)計(jì)截圖圖4-6 t_user 數(shù)據(jù)錄入截圖2) ConsumeRecord表圖4-7 ConsumeRec

8、ord設(shè)計(jì)截圖圖4-8 ConsumeRecord數(shù)據(jù)錄入截圖4.3詳細(xì)設(shè)計(jì)模塊詳細(xì)設(shè)計(jì)本系統(tǒng)具有以下幾個(gè)功能模塊:用戶登錄模塊、查看賬務(wù)信息模塊、添加賬務(wù)信息模塊、刪除賬務(wù)信息模塊、統(tǒng)計(jì)賬務(wù)信息模塊。用戶登錄模塊為用戶分配賬號(hào)密碼使得個(gè)人的財(cái)務(wù)信息具有隱私性,收支管理各個(gè)模塊能有效的管理用戶的現(xiàn)金,可以進(jìn)行添加,查詢,刪除操作,統(tǒng)計(jì)模塊使得用戶能夠查詢用戶一段時(shí)間的收支情況。1) 用戶登錄模塊流程圖: 開始登陸成功并跳轉(zhuǎn)結(jié)束輸入用戶名輸入密碼匹配?YN圖4-9用戶登錄模塊流程圖2)查看賬務(wù)信息模塊流程圖:開始結(jié)束點(diǎn)擊用戶賬務(wù)信息管理點(diǎn)擊查看賬務(wù)信息圖4-10查看賬務(wù)信息模塊流程圖3)添加賬務(wù)

9、信息模塊流程圖: 開始結(jié)束點(diǎn)擊添加賬務(wù)信息添加信息點(diǎn)擊添加按鈕繼續(xù)?YN圖4-11添加賬務(wù)信息模塊流程圖4)刪除賬務(wù)信息模塊流程圖:開始結(jié)束點(diǎn)擊刪除賬務(wù)信息輸入要?jiǎng)h除信息的ID點(diǎn)擊刪除按鈕繼續(xù)?YN圖4-12刪除賬務(wù)信息模塊流程圖5)統(tǒng)計(jì)賬務(wù)信息模塊流程圖:開始結(jié)束點(diǎn)擊統(tǒng)計(jì)賬務(wù)信息輸入開始和截止時(shí)間點(diǎn)擊統(tǒng)計(jì)按鈕繼續(xù)?YN 圖4-13統(tǒng)計(jì)賬務(wù)信息模塊流程圖流程設(shè)計(jì)本系統(tǒng)采用struts2框架,用到了和數(shù)據(jù)庫有關(guān)的最基本的方法定義,包括增、刪、改、查等。主要Action類與頁面的設(shè)計(jì)如下:1)類和方法的說明:表4-4 類和方法的相關(guān)說明 包名 類名/方法名 功能說明 action LifeActi

10、on.java 包含所有action action login() 用戶登錄的方法 action searchRecord( ) 查看賬務(wù)信息的方法 action addRecord ( ) 添加賬務(wù)信息的方法 action delectRecord( ) 刪除賬務(wù)信息的方法 action calrecord( ) 統(tǒng)計(jì)賬務(wù)信息的方法 dao LifeDAO.java 與數(shù)據(jù)庫的交互 domain ConsumeRecord.java 定義數(shù)據(jù)庫表的建立 domain User.java 定義數(shù)據(jù)庫表的建立 service LifeService.java 面向接口的中間層次的服務(wù)類 util

11、 DBConnection.java java中工具輔助層2)MVC架構(gòu)Jsp頁面actionserviceDAO圖4-14 MVC架構(gòu)圖3)頁面設(shè)計(jì)的說明:表4-5 頁面設(shè)計(jì)表 頁面名 功能說明 login.jsp 用戶登錄頁面 main.jsp 系統(tǒng)主頁面 left.jsp 主頁面左邊部分 top.jsp 主頁面頂部設(shè)計(jì) index.jsp 主頁面布局 searchRecord.jsp 查看賬務(wù)信息頁面 addRecord.jsp 添加賬務(wù)信息頁面 delectRecord.jsp 刪除賬務(wù)信息頁面 calRecord.jsp 輸入查詢時(shí)間段前的統(tǒng)計(jì)頁面 calculator,jsp 計(jì)算

12、收入與支出之后的統(tǒng)計(jì)頁面4.4運(yùn)行與測試 一、運(yùn)行1)用戶登錄:圖4-15登錄頁面login.jsp2)登錄成功后的主頁面:圖4-16 登錄成功后的主頁面3)查看賬務(wù)信息頁面:圖4-17查看賬務(wù)信息頁面4)添加賬務(wù)信息頁面:圖4-18 添加信息前的添加頁面圖4-19 添加成功后的頁面5)刪除賬務(wù)信息頁面:圖4-20 刪除前的刪除頁面圖4-21 刪除成功后的刪除頁面6)統(tǒng)計(jì)賬務(wù)信息頁面:圖4-22 輸入統(tǒng)計(jì)時(shí)間段前的統(tǒng)計(jì)頁面圖4-23 成功計(jì)算收入與支出后的統(tǒng)計(jì)頁面二、測試此處采用的是黑盒測試法,及主要測試系統(tǒng)的每個(gè)功能是否能正確運(yùn)作。以下為接受測試的各個(gè)功能模塊描述:1) 用戶登錄模塊:系統(tǒng)能

13、否正常登錄,并跳轉(zhuǎn)到主頁面。2) 查看賬務(wù)信息模塊:系統(tǒng)能否正常顯示所有存儲(chǔ)的信息。3) 添加賬務(wù)信息模塊:系統(tǒng)能否正常添加所輸入的信息。4) 刪除賬務(wù)信息模塊:系統(tǒng)能否正常刪除所要?jiǎng)h除的項(xiàng)目。5) 統(tǒng)計(jì)賬務(wù)信息模塊:系統(tǒng)能否正常統(tǒng)計(jì)所輸入的時(shí)間段內(nèi)的收入與支出賬務(wù)。4.5主要源代碼1action:package action;/省略了變量定義以及set、get方法public String login() user.setName(name); user.setPassword(password); LifeService lifeService=new LifeService(); if(

14、lifeService.checkUser(user)=true) return "success" else return "failure"public String searchRecord()LifeService lifeService=new LifeService();List list=lifeService.getRecord();ActionContext act=ActionContext.getContext();Map request=(Map)act.get("request");request.put(&

15、quot;searchrecord", list);return "searchRecord"public String addRecord()ConsumeRecord consumeRecord=new ConsumeRecord();consumeRecord.setExtre(extre1);consumeRecord.setCostclass(costclass1);consumeRecord.setDate(date1);consumeRecord.setMoney(money1);LifeService lifeService=new LifeSer

16、vice();lifeService.getAddRecord( consumeRecord);List list=lifeService.getRecord();ActionContext act=ActionContext.getContext();Map request=(Map)act.get("request");request.put("searchrecord", list);return "addRecords"public String delectRecord()ConsumeRecord consumeRecor

17、d=new ConsumeRecord();consumeRecord.setId(id);LifeService lifeService=new LifeService();lifeService.getDeleteRecord(consumeRecord);List list=lifeService.getRecord();ActionContext act=ActionContext.getContext();Map request=(Map)act.get("request");request.put("searchrecord", list);

18、return "delectRecords"public String calRecord()LifeService lifeService=new LifeService();ConsumeRecord consumeRecord=new ConsumeRecord();List list=lifeService.getcalRecord(consumeRecord);List l=lifeService.getRecord();float cost=0,earn=0;for(Iterator it=list.iterator();it.hasNext(); )Consu

19、meRecord cos=(ConsumeRecord)it.next();if(cos.getDate().getTime()>=stadate.getTime()&cos.getDate().getTime()<=enddate.getTime()if(cos.getCostclass().equals("支出")cost+=cos.getMoney();elseearn+=cos.getMoney();ActionContext act=ActionContext.getContext();Map request=(Map)act.get(&quo

20、t;request");request.put("cost", cost);request.put("earn", earn);request.put("searchrecord", l);return "calRecords"<?xml version="1.0" encoding="GBK"?><!DOCTYPE struts PUBLIC "-/Apache Software Foundation/DTD Struts Config

21、uration 2.0/EN" "/dtds/struts-2.0.dtd"><struts><!- 處理中文亂碼 -><constant name="struts.i18n.encoding" value="gbk"></constant><package name="com" extends="struts-default"><!- 此處的class屬性值不是實(shí)際的

22、類 -> <action name="login" class="action.LifeAction" method="login"><result name="success">/index.jsp</result><result name="failure">/login.jsp</result></action><action name="searchRecord" class=&quo

23、t;action.LifeAction" method="searchRecord"><result name="searchRecord">/searchRecord.jsp</result></action><action name="addRecord" class="action.LifeAction" method="searchRecord"><result name="searchRecord"

24、;>/addRecord.jsp</result></action><action name="delectRecord" class="action.LifeAction" method="searchRecord"><result name="searchRecord">/delectRecord.jsp</result></action><action name="calRecord" class=&quo

25、t;action.LifeAction" method="searchRecord"><result name="searchRecord">/calRecord.jsp</result></action><action name="add" class="action.LifeAction" method="addRecord"><result name="addRecords">/addRecor

26、d.jsp</result></action><action name="delect" class="action.LifeAction" method="delectRecord"><result name="delectRecords">/delectRecord.jsp</result></action><action name="calculator" class="action.LifeActio

27、n" method="calRecord"><result name="calRecords">/calculator.jsp</result></action></package>3.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance" xmlns="

28、xmlns:web=" xsi:schemaLocation=" version="2.5"> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-na

29、me> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app><body> <s:form action="add"> <table border="1"> <tr><th>ID

30、</th><th>類型</th><th>數(shù)額(單位:元)</th><th>日期</th><th>備注</th> </tr> <s:iterator value="#request.searchrecord"> <tr> <td><s:property value="id"></s:property></td> <td><s:property val

31、ue="costclass"></s:property></td> <td><s:property value="money"></s:property></td> <td><s:property value="date"></s:property></td> <td><s:property value="extre"></s:property></

32、td> </tr> </s:iterator> </table> <table> <%- <s:radio list="#'1':'收入','2':'支出'" label="類型" name="costclass1" listKey="value" value='1'></s:radio>-%> <tr><td>類型<

33、/td><td><s:select list="'收入','支出'" name="costclass1" value="收入"></s:select></td></tr> <tr><td>數(shù)額(單位:元)</td><td><s:textfield name="money1"/></td></tr> <tr><td>

34、;日期</td><td><s:textfield name="date1"/></td></tr> <tr><td>備注</td><td><s:textfield name="extre1"/></td></tr> <s:submit value="添加"/> </table></s:form></body><body> <s:

35、form action="calculator"> <table border="1"> <tr><th>ID</th><th>類型</th><th>數(shù)額(單位:元)</th><th>日期</th><th>備注</th></tr> <s:iterator value="#request.searchrecord"> <tr> <td><

36、;s:property value="id"></s:property></td> <td><s:property value="costclass"></s:property></td> <td><s:property value="money"></s:property></td> <td><s:property value="date"></s:property></td> <td><s:property value="extre"></s:property></td> </tr> </s:iterator> </table> <p>統(tǒng)計(jì)一段時(shí)間的收入支出情況:</p> <table> <tr><td>開始日期</td>&l

溫馨提示

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

提交評論