版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:近代日本對中國茶業(yè)的侵奪研究
- 課題申報(bào)參考:教育高質(zhì)量發(fā)展視域下大學(xué)體育一流本科課程建設(shè)實(shí)證研究
- 2025年園林景觀綠化地使用權(quán)轉(zhuǎn)讓合同4篇
- 2025年度新能源汽車充電站車位租賃合作協(xié)議書4篇
- 2025版委托擔(dān)保合同范本:知識(shí)產(chǎn)權(quán)質(zhì)押貸款擔(dān)保合同3篇
- 2025年度家具行業(yè)綠色供應(yīng)鏈管理合同4篇
- 二零二五版橋梁建設(shè)施工合作協(xié)議2篇
- 2025年度個(gè)人沿街店房租賃合同(含合同解除條件與爭議解決)4篇
- 二零二五年度國際交流項(xiàng)目教師選拔與聘用協(xié)議
- 2025年度星級酒店廚房設(shè)備采購與定期檢修合同4篇
- 數(shù)學(xué)-山東省2025年1月濟(jì)南市高三期末學(xué)習(xí)質(zhì)量檢測濟(jì)南期末試題和答案
- 中儲(chǔ)糧黑龍江分公司社招2025年學(xué)習(xí)資料
- 湖南省長沙市2024-2025學(xué)年高一數(shù)學(xué)上學(xué)期期末考試試卷
- 船舶行業(yè)維修保養(yǎng)合同
- 2024年林地使用權(quán)轉(zhuǎn)讓協(xié)議書
- 物流有限公司安全生產(chǎn)專項(xiàng)整治三年行動(dòng)實(shí)施方案全國安全生產(chǎn)專項(xiàng)整治三年行動(dòng)計(jì)劃
- 基于ADAMS的汽車懸架系統(tǒng)建模與優(yōu)化
- 當(dāng)前中國個(gè)人極端暴力犯罪個(gè)案研究
- 中國象棋比賽規(guī)則
- 7天減肥餐食譜給你最能瘦的一周減肥食譜
- GB/T 31525-2015圖形標(biāo)志電動(dòng)汽車充換電設(shè)施標(biāo)志
評論
0/150
提交評論