【正文】
和支出部分的功 能相同。 圖 510 個(gè)人收入信息添加 個(gè)人收入管理,界面如圖 511所示。whyGreen39。FFFFFF39。red39。FFFFFF39。 TUser user=(TUser)(user)。red39。center39。undo39。center39。red39。錄入完成點(diǎn)擊提交,新增支出的信息會(huì)自動(dòng)添加到支出信息管理中;支出報(bào)表輸出模塊,也稱(chēng)為支出統(tǒng)計(jì),通過(guò)開(kāi)始日期和截止日期查詢(xún)這段時(shí)間內(nèi)的支出情況,該模塊中還有刪除功能,如果有錄入錯(cuò)誤的或者是數(shù)據(jù)失效的,可以點(diǎn)擊刪除該錯(cuò)誤信息。 //跳轉(zhuǎn)到刪除記事頁(yè)面 =url。 Map request=(Map)().get(request)。新增記事信息主要功能是增加日常事情的記錄,相當(dāng)于備忘錄的功能。 TDaibanshiyi daibanshiyi=(daibanshiyiId)。 25 //獲取日期信息 (new Date().toLocaleString())。 Map request=(Map)().get(request)。新增日程信息的主要功能:添加近期日程以便起到提醒的作用。 return 。 } (indicator).=block。用戶(hù)登錄界面 如圖 53所示 。 圖 52 用戶(hù)注冊(cè)界面 用戶(hù)登陸模塊的設(shè)計(jì)與實(shí)現(xiàn) 功能描述及實(shí)現(xiàn)的界面 用戶(hù) 模塊主要功能是用于登錄本系統(tǒng), 用戶(hù)登錄模塊包含的內(nèi)容有用戶(hù)名和密碼。 圖 51 系統(tǒng)主界面 用戶(hù)注冊(cè)模塊設(shè)計(jì)與實(shí)現(xiàn) 用戶(hù)要想使用本系統(tǒng)。 1) 用戶(hù)信息表:主要是用來(lái)保存注冊(cè)用戶(hù)的信息,如表 41 所示 。 SQL 是關(guān)系數(shù)據(jù)庫(kù)中用到的一種語(yǔ)言。這種數(shù)據(jù)模型典型的用在信息系統(tǒng)設(shè)計(jì)的第一階段;比如它們?cè)谛枨蠓治鲭A段用來(lái)描述信息需求和 /或要存儲(chǔ)在數(shù)據(jù)庫(kù)中的信息的類(lèi)型。 數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì) 詳細(xì)設(shè)計(jì)是軟件工程中軟件開(kāi)發(fā)的一個(gè)步驟,就是對(duì)概要設(shè)計(jì)的一個(gè)細(xì)化,就是詳細(xì)設(shè)計(jì)每個(gè)模塊實(shí)現(xiàn)算法,所需的局部結(jié)構(gòu)。本系統(tǒng)的數(shù)據(jù)庫(kù)采用 SQL Server 2020 數(shù)據(jù)庫(kù) 。在數(shù)據(jù)庫(kù)管理系統(tǒng)中,應(yīng)用程序不能直接從存儲(chǔ)介質(zhì)獲得所需的數(shù)據(jù),它必須先將請(qǐng)求提交給 DBMS,由 DBMS 負(fù)責(zé)從存儲(chǔ)介質(zhì)檢索數(shù)據(jù)并提供給應(yīng)用程序使用。隨著結(jié)構(gòu)的精細(xì)化,層次方框圖對(duì)數(shù)據(jù)結(jié)構(gòu)也描繪得越來(lái)越詳細(xì),這種模式非常適合于需求分析階段的需要。切實(shí)了解用戶(hù)的實(shí)際需求,盡量滿(mǎn)足用戶(hù)的各項(xiàng)要求,以達(dá)到讓用戶(hù)滿(mǎn)意的程度。當(dāng)然,如果用戶(hù)誤錄入信息,用戶(hù)本人可以通過(guò)點(diǎn)擊刪除按鈕來(lái)刪掉錯(cuò)誤的伙食已經(jīng)過(guò)期的信息。錄入日程就是通過(guò)點(diǎn)擊新增日程按鈕,來(lái)錄入當(dāng)前需要記錄的日程;查詢(xún)?nèi)粘虅t是用用戶(hù)可以對(duì)已錄入的日程按照日期來(lái)查詢(xún)。用科學(xué)統(tǒng)計(jì)的方法把這些數(shù)據(jù)存儲(chǔ)在 java 家庭收支管理系統(tǒng)之中,以表格的形式說(shuō)明收入支出兩者之間的關(guān)系。可以更好的為個(gè)人制定個(gè) 人規(guī)劃,并帶來(lái)更高的效益。功能需求的層次結(jié)構(gòu)為:用戶(hù)或利益相關(guān)者的需求 功能 用例 業(yè)務(wù)規(guī)則,每一個(gè)用例都會(huì)描述一個(gè)到多個(gè)功能需求所對(duì)應(yīng)的行為。 在軟件工程中,需求分析是軟件工程中的一個(gè)關(guān)鍵過(guò)程。 7 操作可行性 本系統(tǒng)具有良好的操作界面。利用計(jì)算機(jī)對(duì)個(gè)人的人力資源進(jìn)行管理,使人事管理人員從日常瑣碎的管理工作中解脫出來(lái),更好地協(xié)調(diào)個(gè)人生活與工作中的事務(wù),使個(gè)人能力得以充分地發(fā)揮。主要是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對(duì)新系統(tǒng)的開(kāi)發(fā)是否具備必要性和可能性的一種分析和研究,主要會(huì)從經(jīng)濟(jì)、技術(shù)、社會(huì)的方面來(lái)進(jìn)行分析和研究,以減少項(xiàng)目開(kāi)發(fā)風(fēng)險(xiǎn) ,避免人力、物力和財(cái)力的浪費(fèi)。可以對(duì)數(shù)據(jù)進(jìn)行查詢(xún)、搜索、同步、報(bào)告和分析之類(lèi)的操作。 Hibernate 提供的 HQL 是一種類(lèi)的 SQL 語(yǔ)言。 Struts 把 Servlet 、 JSP、自定義標(biāo)簽和信息資源 (message resources)整合到一個(gè)統(tǒng)一的框架中,開(kāi)發(fā)人員利用其進(jìn)行開(kāi)發(fā)時(shí)不用再自己編碼實(shí)現(xiàn)全套MVC 模式,極大的節(jié)省了時(shí)間,所以說(shuō) Struts 是一個(gè)非常不錯(cuò)的應(yīng)用框架。 JSP 技術(shù)是用 JAVA 語(yǔ)言作為腳本語(yǔ)言的, JSP 網(wǎng)頁(yè)為整個(gè)服務(wù)器端的 JAVA 庫(kù)單元提供了一個(gè)接口來(lái)服務(wù)于 HTTP 的應(yīng)用程序。MyEclipse 目 前 支 持 Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC 數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能。主框架包括修改個(gè)人信息,日 程信息管理,即時(shí)信息管理,日常收支管理和安全退出系統(tǒng)幾大模塊?;拘畔⒌奶砑印⑿薷?、刪除和查詢(xún)。設(shè)計(jì)該系統(tǒng)的目的是記 錄收入和支出的每一筆賬;從多種角度分析收入和支出;根據(jù)分析結(jié)果調(diào)整優(yōu)化自己的收支。 此家庭收支管理系統(tǒng)將個(gè)人的生活事務(wù)與工作事務(wù)信息管理進(jìn)行了有機(jī)結(jié)合,能有效地管理個(gè)人信息資源,使工作事務(wù)與個(gè)人事務(wù)兩不誤,有效的信息組合條件查詢(xún),更新,用戶(hù)的密碼設(shè)置和帳本管理等功能,從而提升個(gè)人的生活質(zhì)量與工作效率,滿(mǎn)足了現(xiàn)代個(gè)人信息管理的需要。 以前手功的賬簿管理,是純手工書(shū)寫(xiě),不僅慢而且不易儲(chǔ)存,造成數(shù)據(jù)的遺漏,差錯(cuò),從而給個(gè)人的生活帶來(lái)不便。它的出現(xiàn)使得人事檔案查詢(xún)、調(diào)用的速度加快,也使得精確分析大量財(cái)務(wù)的知識(shí)、經(jīng)驗(yàn)、技術(shù)、能力和職業(yè)抱負(fù)成為可能。本系統(tǒng)使用計(jì)算機(jī)對(duì)家庭收支信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)。下面是系統(tǒng)介紹: java 家庭收支管理系統(tǒng)主界面有登錄,注冊(cè),重置三個(gè)模塊。 瀏 覽 器W e b服 務(wù) 器請(qǐng) 求 信 息結(jié) 果 信 息數(shù) 據(jù) 庫(kù)服 務(wù) 器S Q L結(jié) 果 圖 11 三級(jí)結(jié)構(gòu)組成 MyEclipse 簡(jiǎn)介 MyEclipse 企業(yè)級(jí)工作平臺(tái)( MyEclipseEnterprise Workbench ,簡(jiǎn)稱(chēng) MyEclipse)是對(duì) EclipseIDE 的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和 JavaEE 的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的 J2EE 集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,能夠支持 HTML, Struts, JSP, CSS, Javascript,SQL, Hibernate。主要是采用 Servlet 和 JSP 技術(shù)來(lái)實(shí)現(xiàn)的。它的工作原理是通過(guò)文件把值對(duì)象和數(shù)據(jù)庫(kù)表之間建立一個(gè)映射關(guān)系,這樣,我 們只需要通過(guò)操作這些值對(duì)象和 Hibernate 提供的一些基本類(lèi),就可以達(dá)到使用數(shù)據(jù)庫(kù)的目的。因此,為了提高系統(tǒng)的安全性、可靠性和性能, 本系統(tǒng)采用 SQL Server 2020數(shù)據(jù)庫(kù)。 論文的工作內(nèi)容及論文的結(jié)構(gòu) 論文的工作內(nèi)容嚴(yán)格遵循著軟件的開(kāi)發(fā)過(guò)程,論文的結(jié)構(gòu)采用總分總方式來(lái)設(shè)計(jì),每階段都非常規(guī)范,都會(huì)在具有可行性的結(jié)果后才進(jìn)行下一步設(shè)計(jì),第一章主要對(duì)個(gè)人賬簿管理系統(tǒng)的開(kāi)發(fā)背景、目的和意義做分析與調(diào)查;第二章 主要是對(duì)系統(tǒng)進(jìn)行有效的可行性分析;第三章是對(duì)本系統(tǒng)進(jìn)行需求分析;第四章主要是明確系統(tǒng)總體設(shè)計(jì)思路,對(duì)數(shù)據(jù)庫(kù)進(jìn)行分析設(shè)計(jì);第五章是對(duì)系統(tǒng)的模塊進(jìn)行詳細(xì)的設(shè)計(jì), 5 以及著手于軟件代碼的實(shí)現(xiàn);第六章對(duì)本系統(tǒng)進(jìn)行軟件測(cè)試,來(lái)驗(yàn)證系統(tǒng)的實(shí)用價(jià)值。為了結(jié)論的需要,往往還需要加上一些附件,如試驗(yàn)數(shù)據(jù)、論證材料、計(jì)算圖表、附圖等,以增強(qiáng)可行性報(bào)告的說(shuō)服力。從而運(yùn)行速度也會(huì)更快。 綜上所述,此系統(tǒng)開(kāi)發(fā)目標(biāo)已明確,在技術(shù)和經(jīng)濟(jì)等方面都可行,并且投入少、見(jiàn)效快。功能需求可以是計(jì)算、技術(shù)細(xì)節(jié)、數(shù)據(jù)處理或其他說(shuō)明系統(tǒng)希望達(dá)成功能的內(nèi)容?;?Inter 的 MIS 系統(tǒng)必將成為網(wǎng)絡(luò)時(shí)代的新一代管理信息系統(tǒng),前景極為樂(lè)觀。在該階段需求分析人員需要確定整個(gè)產(chǎn)品的功能要求,并且將現(xiàn)實(shí)事務(wù)抽象成對(duì)象并建模。 業(yè)務(wù)流如圖 31 所示。此外,遵循收入應(yīng)該大于支出的原則,用戶(hù)每個(gè)月的收入不能大于支出。家庭收支管理管理系統(tǒng)主要具備以下 特性: 11 (1) 高技術(shù)性:本系統(tǒng)設(shè)計(jì)主要采用 MyEclipse 開(kāi)發(fā)工具和 SQL Server 數(shù)據(jù)庫(kù)結(jié)合起來(lái)設(shè)計(jì)與實(shí)現(xiàn)的。 系統(tǒng)模塊總體設(shè)計(jì) 本系統(tǒng)利用層次圖來(lái)表示系統(tǒng)中各模塊之間的關(guān)系。 13 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)概述 數(shù)據(jù)庫(kù)設(shè)計(jì) (Database Design)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿(mǎn)足各種用戶(hù)的應(yīng)用需求(信息要求和處理要求)。 通過(guò)網(wǎng)絡(luò)化來(lái)管理,能夠增強(qiáng)了員工之間的溝通。 要確定實(shí)體和關(guān)系的性質(zhì),用戶(hù)必須確定單個(gè)實(shí)體和他們相關(guān)的屬性。大部分?jǐn)?shù)據(jù)庫(kù)設(shè)計(jì)產(chǎn)品使用實(shí)體 聯(lián)系模型( ER 模型)幫助用戶(hù)進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)。 15 t _ u s e rP K u s e r _ i d u s e r _ n a m e u s e r _ p w u s e r _ t y p e u s e r _ r e a l n a m e u s e r _ a d d r e s s u s e r _ s e x u s e r _ t e l u s e r _ e m a i l u s e r _ q qt _ x i a o f e iP K x i a o f e i _ i d x i a o f e i _ s h i j i a n x i a o f e i _ w u p i n m i n g c h e n g x i a o f e i _ w u p i n s h u l i a n g x i a o f e i _ w u p i n j i a g e x i a o f e i _ u s e r I d x i a o f e i _ b e i z h u x i a o f e i _ t y p et _ d a i b a n s h i y iP K d a i b a n s h i y i _ i d d a i b a n s h i y i _ t i t l e d a i b a n s h i y i _ c o n t e n t d a i b a n s h i y i _ d a t e d a i b a n s h i y i _ u s e r I dt _ j i s h iP K j i s h i _ i d j i s h i _ t i t l e j i s h i _ c o n t e n t j i s h i _ d a t e j i s h i _ u s e r I dt _ s h o u r uP K s h o u r u _ i d s h o u r u _ s h i j i a n s h o u r u _ l e i x i n g s h o u r u _ j i n e s h o u r u _ b e i z h u s h o u r u _ u s e r I d 圖 42 數(shù)據(jù)庫(kù) ER 圖 數(shù)據(jù)表的設(shè)計(jì) 好的數(shù)據(jù)結(jié)構(gòu)會(huì)影響速度。各字段只能和主鍵有依賴(lài)關(guān)系 .如果非主鍵和非主鍵間有依賴(lài)關(guān)系 ,就要將它們從主表分離出去 ,放在另一個(gè)表中 ,并通過(guò)外鍵進(jìn)行關(guān)聯(lián)。 表 45 t_xiaofei(支出信息表) 字段名 數(shù)據(jù)類(lèi)型 是否為空 是否主鍵 默認(rèn)值 描述 id int(4) No Yes ID(自動(dòng)編號(hào) ) shijian varchar(30) No 消費(fèi)時(shí)間 wupin varchar(30) No 購(gòu)買(mǎi)物品 shuliang int No 購(gòu)買(mǎi)數(shù)量 jine float No 金額 beizhu varchar(500) 備注信息 user_id int(4) No 用戶(hù) ID 18 第 5 章 詳細(xì)設(shè)計(jì) 在軟件總體設(shè)計(jì)之后,將進(jìn)行軟件的詳細(xì)設(shè)計(jì), 詳細(xì)設(shè)計(jì)是軟件設(shè)計(jì)的重要階段,詳細(xì)設(shè)計(jì)目的是對(duì)該項(xiàng)目進(jìn)行詳細(xì)設(shè)計(jì),在概要設(shè)計(jì)的基礎(chǔ)上進(jìn)一步明確系統(tǒng)結(jié)構(gòu),詳細(xì)地介紹系統(tǒng)的各個(gè)模塊, 各個(gè)模塊的功能, 為進(jìn)行后面的實(shí)現(xiàn)和測(cè)試 做準(zhǔn)備。系統(tǒng)把各項(xiàng)參數(shù)傳遞后后臺(tái)進(jìn)行處理。當(dāng)然 ,用戶(hù)成功登錄之后,會(huì)根據(jù)自己的用戶(hù)名,分別進(jìn)入響應(yīng)的操作界面。 } if(==) { alert(請(qǐng)輸入密碼 )。 =%=path %/。 } //定義一個(gè) callback方法,提示面膜修改成功 function callback(data) { (indicator).=none。 //從 session 獲得 user 的值 TUser user=(TUser)(user)。 TDaibanshiyi daibanshiyi=new TDaibanshiyi()。 return succeed。 } : script language=javascript //定義一個(gè) add 方法,增加日程管理信息 function add() {