版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、電子綜合設(shè)計(jì)實(shí)驗(yàn)報(bào)告題 目個(gè)人賬戶管理系統(tǒng)學(xué)生姓名程雙佳學(xué) 號 100910056系 部計(jì)算機(jī)與信息工程系專業(yè)班級電信1002班指導(dǎo)教師蘇岱安職 稱副教授2013年11月電子綜合設(shè)計(jì)實(shí)驗(yàn)報(bào)告評審表姓 名 程雙佳專業(yè)班級電信1002班學(xué)號100910056題 目:個(gè)人賬戶管理系統(tǒng)評審意見成 績程雙佳簽名:評審時(shí)間: 2013年 11月 26 日電子綜合設(shè)計(jì)實(shí)驗(yàn)報(bào)告 內(nèi)容摘要對于生活在經(jīng)濟(jì)光速發(fā)展時(shí)代的人們,收支日趨多元化使得傳統(tǒng)的理財(cái)方式早已無法滿足人們的需求,人們開始追求一種高效安全的理財(cái)工具。隨著信息大爆炸時(shí)代的到來,越來越多的資金管理軟件成為人們生活理財(cái)中的重要助手。本文所介紹的PFMS軟
2、件也由此應(yīng)運(yùn)而生。本系統(tǒng)實(shí)現(xiàn)了對個(gè)人財(cái)務(wù)進(jìn)行系統(tǒng)化的管理,使我們的理財(cái)更加方便和理性化,提升了我們的理財(cái)效率和生活質(zhì)量。本文共分四部分。首先從業(yè)務(wù)需求、技術(shù)原理上分析系統(tǒng)設(shè)計(jì)的可行性,進(jìn)而挖掘出微型的個(gè)人理財(cái)系統(tǒng)相較于其他大型銀行管理系統(tǒng)、金融管理系統(tǒng)的區(qū)別,以及自身獨(dú)到優(yōu)勢。其次,本文介紹基于JAVA Swing、JDBC等技術(shù)開發(fā)的集用戶管理和數(shù)據(jù)傳輸于一體的PC應(yīng)用程序的構(gòu)成與工作原理,給出系統(tǒng)的需求分析和數(shù)字字典,探討系統(tǒng)的核心開發(fā)技術(shù)。再次,本文針對系統(tǒng)的關(guān)鍵研究技術(shù)之一C/S開發(fā)模式,重點(diǎn)討論了本文所介紹的理財(cái)系統(tǒng)前臺客戶端帶給用戶的獨(dú)特操作體驗(yàn),以及GUI設(shè)計(jì)的特色之處。最后,總
3、結(jié)本文的創(chuàng)新與不足,介紹項(xiàng)目研究的后續(xù)工作,對C/S開發(fā)模式和當(dāng)前十分流行的B/S開發(fā)模式做出比較后的感受,以及對基于JAVA技術(shù)開發(fā)的PC應(yīng)用程序發(fā)展前景的展望。在附錄中,本文還將給出一些重要的程序源代碼,供參考之用。關(guān)鍵詞 理財(cái)系統(tǒng);用戶界面;C/S結(jié)構(gòu);MVC設(shè)計(jì)模式;JAVA開發(fā)語言;SQL電子綜合設(shè)計(jì)實(shí)驗(yàn)報(bào)告 目 錄1. 緒 論11.1 項(xiàng)目研究的意義11.2 個(gè)人理財(cái)系統(tǒng)的研究現(xiàn)狀與發(fā)展方向21.3 國內(nèi)外研究現(xiàn)狀簡介.1.4 研究方法.2. 相關(guān)理論基礎(chǔ)82.1 C/S結(jié)構(gòu)模式82.2 MVC設(shè)計(jì)模式82.3 JDBC技術(shù)介紹82.4 結(jié)構(gòu)化查詢語句SQL介紹112.5 Swin
4、g工具包133. 用戶需求分析154. 系統(tǒng)功能設(shè)計(jì)和實(shí)現(xiàn)154.1 系統(tǒng)設(shè)計(jì)結(jié)構(gòu)示例圖154.2 數(shù)據(jù)庫設(shè)計(jì)224.3 數(shù)據(jù)庫表之間的聯(lián)系.234.4 系統(tǒng)核心功能模塊設(shè)計(jì).255. 系統(tǒng)運(yùn)行效果展示156. 個(gè)人感受157. 謝辭.16參考文獻(xiàn)33附錄1 數(shù)據(jù)處理層代碼展示36附錄2 業(yè)務(wù)邏輯層代碼展示37附錄3 用戶界面層代碼展示39MVC設(shè)計(jì)模式與C/S結(jié)構(gòu)程序的開發(fā)1. 緒 論 對于軟件開發(fā)人員來說,數(shù)據(jù)庫的出現(xiàn)使得軟件開發(fā)逐步趨向于將數(shù)據(jù)顯示和業(yè)務(wù)邏輯進(jìn)行分離處理,因此產(chǎn)生了經(jīng)典的數(shù)據(jù)業(yè)務(wù)分離的設(shè)計(jì)模式MVC設(shè)計(jì)模式。而站在用戶的立場,他們更樂意接受簡單清晰的操作界面,而不關(guān)心操作
5、所對應(yīng)的內(nèi)部數(shù)據(jù)是如何處理的,因此客戶端與服務(wù)端分離的C/S結(jié)構(gòu)便大行其道。本文主要介紹基于MVC設(shè)計(jì)模式和C/S結(jié)構(gòu)的個(gè)人理財(cái)系統(tǒng)的開發(fā)背景、意義以及前景展望。1.1 項(xiàng)目研究的意義一個(gè)有經(jīng)濟(jì)頭腦的人,在日常生活和投資中,都會(huì)對自己的支出和開銷做 到心里有數(shù),以便于制定出自己的一套理財(cái)計(jì)劃,達(dá)到合理的經(jīng)濟(jì)統(tǒng)籌,有理 財(cái)習(xí)慣的人可以從以往的統(tǒng)計(jì)中看到自己主要消費(fèi)方向,看出自己的消費(fèi)是否合理,由此制定出一套合理的經(jīng)濟(jì)計(jì)劃方案,從而可以不斷的長進(jìn)自己的經(jīng)濟(jì)頭腦,對自己的財(cái)富積累、合理投資有著不可或缺的幫助。近年來,隨著我國經(jīng)濟(jì)不斷地持續(xù)高速發(fā)展,人們的收入已不再如以前一樣單純來自于職業(yè)崗位收入。日
6、趨多元化的收入使得人們的私人經(jīng)濟(jì)賬目隨之混雜,傳統(tǒng)的紙筆簡單記錄生活收支的理財(cái)方式早已無法滿足人們的生活需求。與此同時(shí),IT技術(shù)的高速發(fā)展也使得理財(cái)軟件走出了會(huì)計(jì)所、銀行、金融系統(tǒng)等專業(yè)理財(cái)場所,逐步走進(jìn)人們的生活當(dāng)中,成為人們改善生活環(huán)境的重要工具。1.2 個(gè)人理財(cái)系統(tǒng)的研究現(xiàn)狀與發(fā)展方向進(jìn)行個(gè)人理財(cái)?shù)慕y(tǒng)計(jì),首先,如果每天手工紙筆統(tǒng)計(jì)的話, 用于統(tǒng)計(jì)的賬本和記錄冊會(huì)越來越多,不利用保管,容易造成丟失;其次,隨著紀(jì)錄的增多,如果要查找以前的記錄,會(huì)變的越來越困難。個(gè)人理財(cái)系統(tǒng)即為實(shí)現(xiàn)電子化理財(cái),針對于傳統(tǒng)理財(cái)?shù)姆爆嵑腿狈Π踩詠砀纳评碡?cái)方式。因此,個(gè)人理財(cái)系統(tǒng)的研究點(diǎn)即在實(shí)現(xiàn)方便快捷、安全即時(shí)
7、的數(shù)字化理財(cái),其發(fā)展方向則在于可移動(dòng)性不依賴于硬件設(shè)施的地點(diǎn)、即時(shí)性隨時(shí)隨地可以登錄個(gè)人理財(cái)系統(tǒng)、安全性不會(huì)泄漏個(gè)人賬戶信息。1.3 國內(nèi)外研究現(xiàn)狀簡介 從查閱資料來看,在一些比較發(fā)達(dá)國家,人們在生活中對個(gè)人財(cái)務(wù)有著很嚴(yán)謹(jǐn)?shù)囊?guī)劃。 他們將個(gè)人財(cái)務(wù)管理視作如同吃飯睡覺一樣,是日常生活必須的一項(xiàng)活動(dòng)。因此在國外,個(gè)人理財(cái)軟件相對來說比較普遍,軟件系統(tǒng)的開發(fā)也比較完善。國內(nèi)關(guān)于理財(cái)系統(tǒng)的軟件,主要偏重于辦公和財(cái)會(huì)軟件,而針對個(gè)人理財(cái)和家庭理財(cái)方面的則比較少。從個(gè)體來講,將理財(cái)軟件拿到生活中應(yīng)用,可以大大提高經(jīng)濟(jì)生活的效率;從市場層面來看,個(gè)人理財(cái)軟件在國內(nèi)的不流行,同時(shí)也制造了該軟件行業(yè)的一個(gè)潛在市
8、場,這樣一來,個(gè)人理財(cái)類型的軟件或者管理系統(tǒng)的開發(fā)就變得十分必要了。1.4 研究方法 本文所介紹的,就是一個(gè)基于 C/S 結(jié)構(gòu)的個(gè)人理財(cái)系統(tǒng),憑借設(shè)計(jì)的軟件 系統(tǒng),通過數(shù)據(jù)庫的連接和訪問,進(jìn)行相關(guān)數(shù)據(jù)的統(tǒng)計(jì)和查詢,還可以通過相 應(yīng)的計(jì)算功能,完成一些經(jīng)濟(jì)方面的實(shí)用計(jì)算。 本系統(tǒng)的特點(diǎn)是:通過系統(tǒng)的數(shù)據(jù)錄入,可以將數(shù)據(jù)保存在相應(yīng)的數(shù)據(jù)庫里面,而數(shù)據(jù)庫的設(shè)計(jì)方式,使錄入的數(shù)據(jù)更加有效、合理。對數(shù)據(jù)的統(tǒng)計(jì)有比較完善的設(shè)計(jì),對各種輸入錯(cuò)誤的情況有著比較合理的考慮,通過代碼提示用戶輸入完整,合理的數(shù)據(jù),以便于查找、統(tǒng)計(jì)。 在記錄中有計(jì)算統(tǒng)計(jì)功能,避免用戶手動(dòng)計(jì)算出錯(cuò);有相關(guān)的用戶登陸, 密碼檢測,密碼修
9、改以及用戶數(shù)據(jù)備份和還原的功能,保護(hù)用戶數(shù)據(jù)的安全性。 本文將介紹基于C/S 結(jié)構(gòu)的個(gè)人理財(cái)系統(tǒng)的設(shè)計(jì)和應(yīng)擁有MVC設(shè)計(jì)模式的開發(fā)實(shí)現(xiàn)。因此將詳細(xì)說明開發(fā)結(jié)構(gòu)原理,以及貫穿項(xiàng)目始終的Swing、JDBC和SQL技術(shù)。2 相關(guān)理論基礎(chǔ) 本文主要介紹在實(shí)際開發(fā)過程中,系統(tǒng)所必需的一些技術(shù)支持,以及相關(guān)設(shè)計(jì)技術(shù)的理論介紹。2.1 C/S結(jié)構(gòu)模式C/S (Client/Server,客戶機(jī)/服務(wù)器)模式又稱 C/S 結(jié)構(gòu),是軟件系統(tǒng) 系結(jié)構(gòu)的一種。C/S 模式簡單地講就是基于企業(yè)內(nèi)部網(wǎng)絡(luò)的應(yīng)用系統(tǒng)。與 B/S (Browser/Server,瀏覽器/服務(wù)器)模式相比,C/S 模式的應(yīng)用系統(tǒng)最大的好 處
10、是不依賴企業(yè)外網(wǎng)環(huán)境,即無論企業(yè)是否能夠上網(wǎng),都不影響應(yīng)用。 交互性強(qiáng)是C/S 結(jié)構(gòu)固有的一個(gè)優(yōu)點(diǎn)。在C/S 中,客戶端有一套完整的 應(yīng)用程序,在出錯(cuò)提示、在線幫助等方面都有強(qiáng)大的功能,并且可以在子程序間自由切換。C/S 模式同時(shí)提供了更安全的存取模式。由于 C/S 是配對的點(diǎn)對點(diǎn)的結(jié)構(gòu)模式,采用適用于局域網(wǎng)、安全性比較好的網(wǎng)絡(luò)協(xié)議(例如:NT 的 NetBEUI 協(xié)議),安全性可以得到較好的保證。 此外,采用C/S 模式將降低網(wǎng)絡(luò)通信量。這是因?yàn)镃/S 只有兩層結(jié)構(gòu),網(wǎng)絡(luò)通信量只包括 Client與 Server之間的通信量。這樣一來,使得C/S 處理大量信息的能力為 B/S 所無法比擬。而
11、邏輯結(jié)構(gòu)在速度上的優(yōu)越性也讓C/S 更利于處理大量的數(shù)據(jù)。 2.2 MVC設(shè)計(jì)模式 MVC設(shè)計(jì)模式,全名是Model View Controller,是模型(model)視圖(view)控制器(controller)的縮寫,一種軟件設(shè)計(jì)典范,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開,是一種用于組織代碼用一種業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離的方法。這個(gè)方法的假設(shè)前提是如果業(yè)務(wù)邏輯被聚集到一個(gè)部件里面,而且界面和用戶圍繞數(shù)據(jù)的交互能被改進(jìn)和個(gè)性化定制而不需要重新編寫業(yè)務(wù)邏輯。MVC被獨(dú)特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個(gè)邏輯的圖形化用戶界面的結(jié)構(gòu)中。模型視圖控制器(MVC)是Xerox P
12、ARC在二十世紀(jì)八十年代為編程語言Smalltalk80發(fā)明的一種軟件設(shè)計(jì)模式,已被廣泛使用。后來被推薦為Oracle旗下Sun公司Java EE平臺的設(shè)計(jì)模式,并且受到越來越多的使用ColdFusion和PHP的開發(fā)者的歡迎。模型視圖控制器模式是一個(gè)有用的工具箱,它有很多好處,但也有一些缺點(diǎn)。MVC開始是存在于桌面程序中的,M是指業(yè)務(wù)模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。2.3 JDBC技術(shù)介紹 JDBC(
13、Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應(yīng)用程序,同時(shí),JDBC也是個(gè)商標(biāo)名。有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個(gè)程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個(gè)程序,或?yàn)樵L問Informix數(shù)據(jù)庫又編寫另一個(gè)程序
14、等等,程序員只需用JDBC API寫一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時(shí),將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運(yùn)行,這也是Java語言“編寫一次,處處運(yùn)行”的優(yōu)勢。Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對Java程序員而言是API,對實(shí)現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實(shí)現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如ODBC之間的橋接。
15、JDBC實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口。Java 具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是 Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對話的方法。而 JDBC 正是作為此種用途的機(jī)制。JDBC 擴(kuò)展了 Java 的功能。例如,用 Java 和 JDBC API 可以發(fā)布含有 applet 的網(wǎng)頁,而該 applet 使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫。企業(yè)也可以用 JDBC 通過 Intranet 將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計(jì)算機(jī)有 Windows、 Macinto
16、sh 和UNIX 等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。2.4 結(jié)構(gòu)化查詢語句SQL介紹 結(jié)構(gòu)化查詢語言(Structured Query Language)簡稱SQL,是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng);同時(shí)也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。 結(jié)構(gòu)化查詢語言是高級的非過程化編程語言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng)可以使用相同的結(jié)構(gòu)化查詢語言作為數(shù)據(jù)輸入與管理的
17、接口。結(jié)構(gòu)化查詢語言語句可以嵌套,這使他具有極大的靈活性和強(qiáng)大的功能。結(jié)構(gòu)化查詢語言包含6個(gè)部分:一:數(shù)據(jù)查詢語言(DQL:Data Query Language):其語句,也稱為“數(shù)據(jù)檢索語句”,用以從表中獲得數(shù)據(jù),確定數(shù)據(jù)怎樣在應(yīng)用程序給出。保留字SELECT是DQL(也是所有SQL)用得最多的動(dòng)詞,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HANG。這些DQL保留字常與其他類型的SQL語句一起使用。二:數(shù)據(jù)操作語言(DML:Data Manipulation Language):其語句包括動(dòng)詞INSERT,UPDATE和DELETE。它們分別用于添加,修改和
18、刪除表中的行。也稱為動(dòng)作查詢語言。三:事務(wù)處理語言(TPL):它的語句能確保被DML語句影響的表的所有行及時(shí)得以更新。TPL語句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。四:數(shù)據(jù)控制語言(DCL):它的語句通過GRANT或REVOKE獲得許可,確定單個(gè)用戶和用戶組對數(shù)據(jù)庫對象的訪問。某些RDBMS可用GRANT或REVOKE控制對表單個(gè)列的訪問。五:數(shù)據(jù)定義語言(DDL):其語句包括動(dòng)詞CREATE和DROP。在數(shù)據(jù)庫中創(chuàng)建新表或刪除表(CREAT TABLE 或 DROP TABLE);為表加入索引等。DDL包括許多與人數(shù)據(jù)庫目錄中獲得數(shù)據(jù)有關(guān)的保留字。它也是動(dòng)
19、作查詢的一部分。六:指針控制語言(CCL):它的語句,如DECLARE CURSOR,F(xiàn)ETCH INTO和UPDATE WHERE CURRENT用于對一個(gè)或多個(gè)表單獨(dú)行的操作。2.5 Swing工具包Swing 用戶界面是一個(gè)用于開發(fā)Java應(yīng)用程序的用戶界面的開發(fā)工具包。它以抽象的窗口工具包(AWT)為基礎(chǔ),使跨平臺應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。Swing開發(fā)人員只用很少的Swing代碼就可以利用Swing豐富、靈活的功能和模塊化組建來設(shè)計(jì)優(yōu)雅、美觀的用戶界面。總體來說,Swing是JAVA開發(fā)語言中GUI圖形用戶接口包的名稱。利用Swing創(chuàng)建用戶圖形界面一般有以下步驟:導(dǎo)入S
20、wing包、選擇界面風(fēng)格、設(shè)置頂層容器、設(shè)置按鈕和標(biāo)簽、將組件放到容器上、為組件增加邊框、處理事件輔助技術(shù)支持3. 用戶需求分析通過用戶對于個(gè)人理財(cái)軟件的功能需求分析,初步設(shè)計(jì)軟件應(yīng)當(dāng)具備的功能模塊,并基于此對軟件的總體框架進(jìn)行設(shè)計(jì),這個(gè)過程稱為用戶需求分析過程。 本文主要介紹個(gè)人理財(cái)系統(tǒng)的主要功能模塊,模塊設(shè)計(jì)宏觀圖如下圖3。圖3 系統(tǒng)總體模塊設(shè)計(jì)3.1 銀行卡管理功能模塊 該模塊用于實(shí)現(xiàn)用戶的銀行卡賬戶管理。用戶可以通過該功能添加、刪除、修改或者查詢自己的每一個(gè)銀行卡賬戶信息,包括開戶銀行、開戶時(shí)間、開戶地點(diǎn)以及對該賬戶的操作記錄等。3.2 銀行卡存取款功能模塊 該模塊用于實(shí)現(xiàn)用戶對某一個(gè)
21、選定的銀行卡賬戶進(jìn)行款項(xiàng)的增加和刪除。在該功能下,不能對選定銀行卡以外的其他賬戶信息做修改,只能更改本銀行卡存款信息。3.3 銀行卡轉(zhuǎn)賬功能模塊該模塊用于實(shí)現(xiàn)不同銀行卡之間的款項(xiàng)轉(zhuǎn)移功能,即將一個(gè)銀行卡中的款項(xiàng)轉(zhuǎn)移到另外一張銀行卡中,對參與轉(zhuǎn)賬的銀行卡數(shù)據(jù)都將產(chǎn)生影響。3.4 銀行流水賬功能模塊 該模塊主要用于記錄用戶所有已存在的銀行賬戶中與賬戶金額變動(dòng)有關(guān)的全部即時(shí)操作信息,包括變動(dòng)金額數(shù)目、操作時(shí)間、涉及賬戶名稱等。用戶無法對該模塊中的信息進(jìn)行修改,只能作為操作記錄去查閱。對于擁有軟件系統(tǒng)管理員權(quán)限的用戶,可以執(zhí)行記錄清除的操作,以刪除選定條款的記錄或者清空全部記錄。3.5 添加收支功能模
22、塊用戶根據(jù)自己的實(shí)際情況或者財(cái)政計(jì)劃添加經(jīng)濟(jì)收入或者支出款項(xiàng),所添加的款項(xiàng)需對應(yīng)用戶名下的一個(gè)明確銀行卡賬戶。用戶也可以對已存在的收支項(xiàng)目進(jìn)行修改或刪除操作,該模塊的操作將影響到與收支項(xiàng)對應(yīng)的銀行卡賬戶金額。3.6 收支報(bào)表功能模塊該模塊主要用于記錄用戶所有的收入和支出項(xiàng)目信息,包括收支項(xiàng)所影響的銀行卡賬戶、收支金額、資金變動(dòng)時(shí)間以及該收支項(xiàng)的創(chuàng)建時(shí)間、創(chuàng)建者等信息。所有相關(guān)信息以報(bào)表形式顯示在用戶界面上,用戶還可以將該報(bào)表以表格文件形式導(dǎo)出到個(gè)人電腦中。3.7 數(shù)據(jù)備份/還原功能模塊該模塊用于對已登錄的用戶數(shù)據(jù)進(jìn)行備份或者還原。進(jìn)行備份操作時(shí),用戶的所有賬戶信息、收支日志、轉(zhuǎn)賬記錄、用戶信息
23、等都將被寫入存檔文件,并由用戶制定本地地址進(jìn)行保存。執(zhí)行還原操作時(shí)需選定對應(yīng)的已保存過的備份文檔。3.8 系統(tǒng)初始化功能模塊該功能用于將軟件系統(tǒng)還原至出廠狀態(tài),執(zhí)行操作后所有用戶信息將被清空,軟件處于初始化狀態(tài),用戶需要重新注冊個(gè)人信息后方能使用。此外,初始化操作執(zhí)行之后,用戶的界面和風(fēng)格的個(gè)性化設(shè)置也將被重置為系統(tǒng)初始狀態(tài),系統(tǒng)也將自動(dòng)退出并跳回用戶登錄/注冊界面3.9 用戶管理功能模塊該模塊主要用于用戶的注冊和注銷,以及用戶信息的修改、查看、刪除等操作。對于不同權(quán)限的用戶,在該模塊中享有的操作權(quán)限也不相同。普通用戶只能修改與自身相關(guān)的信息,對于其他用戶信息只能查看到用戶名和注冊日期。而系統(tǒng)
24、管理員權(quán)限的用戶則可以對所有在該軟件中注冊過的用戶信息進(jìn)行修改和刪除,并能查看看到所有用戶的全部詳細(xì)信息。4 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)和實(shí)現(xiàn)本文主要介紹系統(tǒng)的總體設(shè)計(jì)流程圖,數(shù)據(jù)庫設(shè)計(jì),圖標(biāo)設(shè)計(jì),系統(tǒng)功能實(shí)現(xiàn)以及和界面介紹等相關(guān)的內(nèi)容。4.1 系統(tǒng)設(shè)計(jì)結(jié)構(gòu)示例圖系統(tǒng)功能模塊設(shè)計(jì)結(jié)構(gòu)如下圖41所示:圖4-1 系統(tǒng)總體結(jié)構(gòu)4.2 數(shù)據(jù)庫表設(shè)計(jì)根據(jù)需求分析,本系統(tǒng)所設(shè)計(jì)的數(shù)據(jù)庫表共有9個(gè),詳細(xì)信息如下表42所示:銀行卡信息表PFMS_CARD銀行卡流水賬表PFMS_CARD_BLOTTER銀行卡存取記錄表PFMS_IO轉(zhuǎn)賬記錄表PFMS_CARD_TRAN收入項(xiàng)目表PFMS_INCOME收入業(yè)務(wù)表PFMS_
25、INCOME_BIZ支出項(xiàng)目表PFMS_OUTLAY支出業(yè)務(wù)表PFMS_ OUTLAY _BIZ用戶信息表PFMS_USER表4-2 系統(tǒng)數(shù)據(jù)庫表統(tǒng)計(jì)表下面給出各個(gè)表的詳細(xì)用例信息:銀行卡信息表(PFMS_CARD): 該表用于存儲(chǔ)用戶對銀行卡進(jìn)行操作的詳細(xì)信息,包括操作的時(shí)間和操作的具體數(shù)據(jù)對象等。 字段名字段說明數(shù)據(jù)類型字段約束備注PC_ID銀行卡編號NUMBER主鍵自增PC_SN銀行名縮寫VARCHAR2(20)PC_TN銀行全稱VARCHAR2(20)PC_ADDR銀行地址VARCHAR2(20)PC_TEL銀行電話NUMBER PC_MONEY卡上余額NUMBER(10,2)PC_U
26、SERID用戶編號NUMBER表4-2-1 銀行卡信息表銀行卡流水賬表(PFMS_CARD_BLOTTER):該表用于存儲(chǔ)用戶對銀行卡進(jìn)行操作的相關(guān)信息,并記錄下操作者的用戶名。字段名字段說明數(shù)據(jù)類型字段約束備注PCB_ID銀行卡編號INTEGER主鍵自增BANK_NAME銀行名稱VARCHAR2(20)MONEY收支余額NUMBERB_DATE操作日期DATETYPE操作類型VARCHAR2(20)USER_NAME用戶編號VARCHAR2(20)表4-2-2 銀行卡流水賬表銀行卡存取表(PFMS_CARD_IO): 該表用于存儲(chǔ)對某個(gè)賬戶進(jìn)行金額存取操作的相關(guān)信息。字段名字段說明數(shù)據(jù)類型字
27、段約束備注PCIO_ID存取項(xiàng)目IDNUMBER主鍵PCIO_SN存取銀行卡簡稱VARCHAR2(20)PCIO_TYPE存取項(xiàng)目類型VARCHAR2(20)PCIO_MONEY存取金額NUMBER(10,2)PCIO_DATE存取項(xiàng)目時(shí)間DATEPCIO_USERID存取用戶IDINTEGERPCIO_COMMENT備注NVARCHAR(200)表4-2-3 銀行卡轉(zhuǎn)賬信息表銀行卡轉(zhuǎn)賬表(PFMS_CARD_TRAN): 用于記錄銀行卡直接的轉(zhuǎn)賬信息,包括參與轉(zhuǎn)賬的銀行卡信息以及進(jìn)行轉(zhuǎn)賬操作的用戶信息。字段名字段說明數(shù)據(jù)類型字段約束備注PCT_ID轉(zhuǎn)賬業(yè)務(wù)IDNUMBER主鍵PCT_INCA
28、RDID轉(zhuǎn)入銀行卡號INTEGERPCT_OUTCARDID轉(zhuǎn)出銀行卡號INTEGERPCT_MONEY轉(zhuǎn)賬金額NUMBER(10,2)PCT_DATE轉(zhuǎn)賬時(shí)間DATEPCT_COMMENT備注VARCHAR2(200)PCT_USERID用戶IDINTEGER表4-2-4 銀行卡轉(zhuǎn)賬信息表收入項(xiàng)目表(PFMS_INCOME): 用于存儲(chǔ)收入項(xiàng)目以及收入用戶信息字段名字段說明數(shù)據(jù)類型字段約束備注PI_ID收入項(xiàng)目IDNUMBER主鍵PI_NAME收入項(xiàng)目名VARCHAR2(20)PI_USERID收入用戶IDINTEGER表4-2-5 收入項(xiàng)目表收入業(yè)務(wù)表(PFMS_IN_BIZ) 用于存儲(chǔ)收
29、入項(xiàng)目的詳細(xì)內(nèi)容以及備注信息字段名字段說明數(shù)據(jù)類型字段約束備注PIB_ID收入項(xiàng)目IDNUMBER主鍵PIB_NAME收入項(xiàng)目名稱VARCHAR2(20)PIB_MONEY收入金額NUMBER(10,2)PIB_TYPE收入類型VARCHAR2(20)PIB_DATE收入項(xiàng)目時(shí)間DATEPIB_COMMENT備注VARCHAR2(200)PIB_USERID用戶IDINTEGER表4-2-6 收入業(yè)務(wù)表支出項(xiàng)目表(PFMS_OUTLAY): 用于存儲(chǔ)支出項(xiàng)目及對應(yīng)的用戶信息字段名字段說明數(shù)據(jù)類型字段約束備注PO_ID支出項(xiàng)目IDNUMBER主鍵PO_NAME支出項(xiàng)目名稱VARCHAR2(20)
30、PO_USERID用戶IDNUMBER表4-2-7 支出項(xiàng)目表支出業(yè)務(wù)表(PFMS_OUT_BIZ): 用于存儲(chǔ)支出項(xiàng)目詳細(xì)信息字段名字段說明數(shù)據(jù)類型字段約束備注POB_ID支出業(yè)務(wù)IDNUMBER主鍵POB_NAME支出項(xiàng)目名稱VARCHAR2(20)POB_MONEY支出金額NUMBER(10,2)POB_TYPE付款方式VARCHAR2(20)POB_DATE支出當(dāng)前項(xiàng)目時(shí)間DATEPOB_COMMENT備注VARCHAR2(100)POB_USERID用戶IDNUMBER表4-2-8 支出業(yè)務(wù)表用戶信息表(PFMS_USER): 用于存儲(chǔ)在系統(tǒng)中注冊過的用戶的詳細(xì)信息以及相關(guān)操作的時(shí)間
31、字段名字段說明數(shù)據(jù)類型字段約束備注PU_ID用戶IDNUMBER主鍵PU_NO用戶帳號VARCHAR2(20)PU_PWD用戶密碼VARCHAR2(20)PU_IDEN用戶類型VARCHAR2(20)PU_STATUS用戶狀態(tài)INTEGERPU_DATE創(chuàng)建時(shí)間DATE表4-2-9 用戶信息表4.3 數(shù)據(jù)庫表之間的關(guān)系 數(shù)據(jù)庫各個(gè)表之間的關(guān)系如下圖4-3所示:圖4-3 數(shù)據(jù)庫表之間的關(guān)系4.4 系統(tǒng)核心功能模塊的設(shè)計(jì)下面選取系統(tǒng)的幾個(gè)核心功能模塊進(jìn)行邏輯設(shè)計(jì)原理的詳細(xì)說明:4.4.1 用戶登錄在本模塊中,用戶輸入的用戶名和密碼將被傳送至數(shù)據(jù)處理程序,與數(shù)據(jù)庫中已經(jīng)存在的用戶信息進(jìn)行一一核對,如
32、果用戶名沒有匹配,則提示用戶不存在;如果用戶名匹配成功但是密碼匹配不成功,則系統(tǒng)提示密碼輸入錯(cuò)誤,請重新輸入。信息輸入錯(cuò)誤之后,對應(yīng)的輸入框內(nèi)容繼而被清空,此時(shí)用戶可以選擇重新輸入、注冊新用戶或者直擊退出系統(tǒng)。圖4-4-1 用戶登錄用例流程圖4.4.2 用戶密碼修改在本模塊中,要求用戶先輸入所要修改密碼的用戶名,輸入信息隨后傳到數(shù)據(jù)處理層,與數(shù)據(jù)庫中已經(jīng)存在的用戶名信息進(jìn)行一一匹配,如果匹配失敗則提示用戶不存在;若匹配成功則轉(zhuǎn)跳至密碼確認(rèn)界面。在密碼確認(rèn)界面,要求用戶輸入舊密碼。用戶輸入的舊密碼會(huì)在數(shù)據(jù)處理層與數(shù)據(jù)庫中的密碼進(jìn)行匹配,如果密碼匹配失敗則提示密碼輸入失敗,若匹配成功則會(huì)跳轉(zhuǎn)至新密
33、碼輸入界面。這里會(huì)先對用戶兩次輸入的密碼信息進(jìn)行對比,如果兩次輸入的信息不同則系統(tǒng)提示兩次輸入的密碼不同,請重新輸入,并清空密碼框中的內(nèi)容。兩次密碼輸入均無誤之后,系統(tǒng)會(huì)提示密碼修改成功,同時(shí)數(shù)據(jù)處理層修改數(shù)據(jù)庫中相關(guān)信息。在對密碼進(jìn)行相關(guān)操作時(shí),密碼輸入框都會(huì)密文形式顯示輸入信息,不會(huì)看到明文,以保障用戶信息安全。用例結(jié)束后返回用戶登錄界面。圖4-4-2 用戶密碼修改用例流程圖4.4.3 用戶注冊該模塊要求用戶先輸入所要注冊的用戶名,在確認(rèn)按鈕的響應(yīng)事件中會(huì)將輸入的用戶名與數(shù)據(jù)庫中已有的用戶名進(jìn)行匹配,如果匹配到了符合的信息,則提示用戶名已存在,請重新輸入,并清空輸入框。若用戶名可用,則跳轉(zhuǎn)
34、至密碼輸入框,要求用戶輸入新密碼,并再次輸入確認(rèn)新密碼。兩次輸入無誤之后,提示用戶注冊成功,并將注冊信息添加到數(shù)據(jù)庫中,然后跳轉(zhuǎn)至用戶登錄界面。圖4-4-3 用戶注冊用例流程圖4.4.4 收支查詢該模塊要求用戶完成登錄,并具有查詢權(quán)限。確認(rèn)信息無誤之后,要求用戶先選擇所要查找的銀行卡賬戶,數(shù)據(jù)處理層根據(jù)選擇的銀行卡將賬戶ID與數(shù)據(jù)庫信息對比,找到對應(yīng)的銀行卡賬戶全部收支記錄,并以列表形式在界面上顯示出來。此時(shí)若信息過多,用戶難以找到想要查閱的信息,還可以通過日期選擇縮小查找范圍。日期的選擇由工具模塊導(dǎo)入事先做好的日歷插件,用戶可以直觀地從日歷插件上選擇要查詢的起止時(shí)間。點(diǎn)擊確認(rèn)之后,數(shù)據(jù)處理層
35、通過選定的時(shí)間范圍篩選出合格的信息,以列表形式重新顯示在界面上。該模塊用到日歷插件,主要是避免用戶自主輸入時(shí)間時(shí),格式不能與數(shù)據(jù)庫數(shù)據(jù)格式匹配,導(dǎo)致查閱錯(cuò)誤。圖4-4-4 收支查詢用例流程圖5 系統(tǒng)運(yùn)行效果示例此部分主要展示系統(tǒng)最終完成之后運(yùn)行的效果示例圖。圖5-1 系統(tǒng)主界面圖示圖5-2 銀行卡賬戶管理界面圖5-3 收支報(bào)表界面圖5-4 用戶信息管理界面圖5-5 收支日志(流水賬)查詢界面6 個(gè)人感受 此次課程設(shè)計(jì),全部過程是在規(guī)范的公司開發(fā)模式下進(jìn)行。我們有完整的開發(fā)小組,分工也很明確。對于文檔和代碼的編寫都有十分明確的規(guī)范要求,這是與課堂學(xué)習(xí)氛圍完全不同的另一種體驗(yàn)。我覺得這對于即將走入
36、職場的我們來說,是十分有益的。由于在課堂上學(xué)習(xí)的絕大部分都是理論知識,實(shí)際去做一個(gè)項(xiàng)目開發(fā)的時(shí)候,開始難免覺得難以入手,這時(shí)自學(xué)能力就派上用場了。通過網(wǎng)上查閱相關(guān)軟件,下載之后查看別人的源代碼,逐步就能上手了。在開發(fā)過程中也遇到不少的困難,往往不是某個(gè)人的能力就能解決的。這種情況下就少不了整個(gè)團(tuán)隊(duì)的配合。大家同時(shí)也在開發(fā)的過程中協(xié)調(diào)個(gè)人的任務(wù)分配,盡量去做自己拿手的模塊,為此隊(duì)員們也沒少通宵奮戰(zhàn)。實(shí)際開發(fā)過程往往遇到的都是學(xué)習(xí)過程中所沒遇到過的問題,比如在做用戶登錄模塊的時(shí)候,我們的想法是登錄界面不顯示windows的窗口邊框,做成類似于QQ登錄的界面,并且要做到可以隨意拖拽。這寫都是在學(xué)習(xí)過
37、程中所沒有做過的,我們通過查閱Swing幫助文檔找到對應(yīng)的API,完成了該功能。不僅僅是技術(shù)上的困難,對于一群沒有過實(shí)際開發(fā)經(jīng)驗(yàn)的新手,隊(duì)員之間的配合也是問題。剛接觸SVN的時(shí)候,經(jīng)常出現(xiàn)誤刪誤改隊(duì)友代碼的情況。也有隊(duì)員寫出的代碼獨(dú)立于系統(tǒng)之外,成為了一個(gè)可以獨(dú)立運(yùn)行的小插件,這些都是在開發(fā)過程中隊(duì)員之間缺乏溝通交流的體現(xiàn),也是團(tuán)隊(duì)所最應(yīng)當(dāng)注重的一點(diǎn)。所幸的是在調(diào)試過程中問題一一得到解決。開發(fā)過程整體來講比較成功,最終產(chǎn)品能夠?qū)崿F(xiàn)預(yù)期功能,這令我們感到十分有成就感。開發(fā)過程不僅是對已學(xué)知識的一個(gè)整合和復(fù)習(xí)的過程,還是一個(gè)自主學(xué)習(xí)和解決突發(fā)問題的過程。通過這個(gè)過程,我們不僅鍛煉了自己的專業(yè)技能,
38、體驗(yàn)了公司開發(fā)氛圍,還學(xué)到了解決問題的方法和思路。我相信下一次的實(shí)戰(zhàn)開發(fā)一定會(huì)做的比此次更好!7 謝辭對于此次課程設(shè)計(jì),首先要感謝學(xué)校為我們精心為我們準(zhǔn)備了這樣一場綜合開發(fā)的實(shí)戰(zhàn)機(jī)會(huì)。老師們不厭其煩的耐心指導(dǎo)是我們最終順利完成設(shè)計(jì)開發(fā)的前提,在此對他們的新奇你付出表示衷心的感謝!其次要感謝開發(fā)組的全體隊(duì)員,大家互相諒解、一起努力才有最終的成果。也要感謝其他同學(xué)在此次開發(fā)過程中給予我的指導(dǎo)和幫助!8 參考文獻(xiàn)1Bruce Eckel. Thinking in JavaM. Upper Saddle River, Ne
39、w Jersey, USA:Prentice Hall, 2006 2 陳道鑫,宋紹云,袁中旺,等. ExtJS框架在Web軟件開發(fā)中的應(yīng)用J.電腦知識與技術(shù)2011,07(9):2044-2047 3 林信良.Spring2.0技術(shù)手冊M.北京:電子工業(yè)出版社,2005 4 (美)威爾德,斯尼德等著,趙利通譯.SpringFramework2入門經(jīng)典M.北京:清華大學(xué)出版社,2009 5 林寒超,張南平.Hibernate技術(shù)的研究J.計(jì)算機(jī)技術(shù)與發(fā)展,2006,
40、16(11):112-113,116 6 田珂,謝世波,方馬.J2EE數(shù)據(jù)持久層的解決方案J.計(jì)算機(jī)工程,2003,29(22):93-95 7 譚懷遠(yuǎn).讓Oracle跑得更快:Oracle10g性能分析與優(yōu)化思路M.北京:電子工業(yè)出版社,2011 附 錄: 部分源代碼展示附錄一:數(shù)據(jù)處理(DAO)層部分代碼展示package com.sxt.yt.dao;import java.io.FileInputStream;import java.sql.Connection;import java.sql.DriverManager;import
41、java.sql.ResultSet;import java.sql.Statement;import java.util.HashMap;import java.util.Properties;/* * 數(shù)據(jù)庫工具類 * * author Administrator * */public class DBUtil / 用來存儲(chǔ)數(shù)據(jù)庫配置static HashMap<String, String> dbMap = new HashMap<String, String>();/* * 加載配置只調(diào)用一次 */static try / 新建一個(gè)屬性文件對象Propertie
42、s pro = new Properties();/ 加載文件pro.load(new FileInputStream("config/perties");/ 取屬性值dbMap.put("driverClass", pro.getProperty("driverClass");dbMap.put("url", pro.getProperty("url");dbMap.put("username", pro.getProperty("user
43、name");dbMap.put("password", pro.getProperty("password"); catch (Exception e) e.printStackTrace();/* * 取得連接 * * return */public static Connection getConn() Connection conn = null;try Class.forName(dbMap.get("driverClass");String url = dbMap.get("url");con
44、n = DriverManager.getConnection(url, dbMap.get("username"),dbMap.get("password"); catch (Exception e) e.printStackTrace();return conn;/* * 關(guān)閉連接 * * param conn * param stat * param rs */public static void closeConn(Connection conn, Statement stat, ResultSet rs) try if (rs != null) rs.close();if (stat != null) stat.close();if (conn != null) conn.close(); catch (Exception e) e.printStackTrace();/* * 專用于執(zhí)行增刪改的普通用法 * * param sql * return */pub
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度純凈水凈化設(shè)備研發(fā)與生產(chǎn)合同2篇
- 二零二四年度智能倉儲(chǔ)廠房買賣及物流服務(wù)合同2篇
- 2025版洗浴中心員工健康體檢服務(wù)合同范本3篇
- 2025年度中小企業(yè)技術(shù)改造固定資產(chǎn)貸款合同范本
- 2025版工業(yè)用地使用權(quán)出讓合同模板
- 2025年度國際物流信息化系統(tǒng)開發(fā)與實(shí)施合同
- 2025年度環(huán)保管家對綠色供應(yīng)鏈管理服務(wù)合同
- 2025年度大數(shù)據(jù)產(chǎn)業(yè)股權(quán)回購與轉(zhuǎn)讓服務(wù)合同
- 2025年度大連地區(qū)建筑防雷接地系統(tǒng)施工與驗(yàn)收服務(wù)合同4篇
- 2025年度護(hù)士職業(yè)素養(yǎng)提升培訓(xùn)合同
- 小學(xué)一年級數(shù)學(xué)上冊口算練習(xí)題總匯
- 潤滑油知識-液壓油
- 2024年江蘇省中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 《中國香文化》課件
- 盤錦市重點(diǎn)中學(xué)2024年中考英語全真模擬試卷含答案
- 平安產(chǎn)險(xiǎn)湖南省商業(yè)性雞蛋價(jià)格指數(shù)保險(xiǎn)條款
- 提高臥床患者踝泵運(yùn)動(dòng)的執(zhí)行率
- 廣東省普通高中學(xué)生檔案
- 初中公寓主任述職報(bào)告
- 九年級下冊滬教版上?;瘜W(xué)5.2酸和堿的性質(zhì)研究 課件
- ISO17025經(jīng)典培訓(xùn)教材
評論
0/150
提交評論