




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、網貸系統:基于JAVA實現的p2p理財系統(論文)目 錄摘 要2ABSTRACT3引 言41 緒 論51.1 前期調研51.2 計算機技術綜述51.3 開發背景與主要內容72 系統技術開發82.1 可行性分析82.2 面對對象的程序設計介紹92.3 SQL語言介紹102.4 JDBC數據訪問技術112.5 數據庫系統概述122.6 系統開發理論介紹132.7 開發環境143 系統設計163.1 系統結構設計163.2數據庫設計174 系統實現194.1 界面設計194.2 主要代碼的編寫205 系統測試和優化245.1 測試目的245.2 測試方法245.3 測試步驟245.4 系統優化256
2、 討 論266.1 源代碼的控制266.2 變量命名的約定276.3 JAVA對字符串操作總結276.4 對錯誤的處理30結 論32致 謝34參 考 文 獻34摘 要理財系統是一個企業不可缺少的部分,企業很早就實施了理財的集中管理,而家庭或大學生使用的小型理財系統卻只是鳳毛麟角。然而,理財系統不僅僅對企業,而且對學生個人都有十分重要的意義。論文系統地分析了軟件開發的背景及過程,首先介紹了軟件的開發環境,其次介紹了本軟件的詳細設計過程:數據庫的設計以及具體界面的設計和功能,最后對在本軟件開發過程中的問題進行了總結。利用面向對象的編程方法(OOP)和ADO數據庫訪問技術,其開發主要包括后臺數據庫的
3、建立、維護以及前端應用程序開發,通過JAVA和數據庫 相結合,實現了大學生理財的自動化和信息化。系統主要包括以下幾個模塊:用戶密碼登陸,原始數據的匯入、修改、刪除等,從而實現對大學生個人的收入與支出進行有效、系統的管理,并使之更全面和靈活。通過論文,可以了解到“有理真好大學生理財軟件”的規劃、設計過程,掌握系統的功能。關鍵詞:網貸系統;理財;數據庫;面向對象的編程方法,p2p理財系統AbstractThe system of financing is very important to business enterprise, and it is an indispensability par
4、t. The business enterprise is previously and already focalization in the execution financial management. However, the financing system is not only to business enterprise, and to students or families all contain very important meaning.This thesis systematically analyzes the background and process of
5、softwares exploitation. Firstly it tells us the exploitative environment of software. Secondly it shows the process of designing the software in detail, such as the design of database and the achievement, as well as the design and functions of the concrete interface. Finally it concludes the problem
6、s that occur in the exploitative process of this software. Adopting the way of object oriented program (OOP) and ADO database interview technique, whose exploitation mainly includes the establishment and maintenance of background database and the process of forepart application, using the way JAVA t
7、hat achieve automatization and information technology of the system of financing in students. The system mainly consists of the following modules:Customer password debarkation, Investigating database and the confluence of initial data and so on, which make the availability of the cash in students in
8、to earning and payout, Investigation and management of the system more perfect and flexible.According to read the thesis, you can realize the program “The Students Financing System “the approach of design and control the function of system.Key Words:University Students;Financing;DATABASE;Object Orie
9、nted Program引 言美國著名經濟學家詹姆斯菲爾德對于美國大學生理財規劃,提出了專門的“111”模式:學會貸款用明天的錢圓今天的夢,學會兼職讓“增值”為以后的超前消費埋下伏筆,學會投資為今后的個人理財“投石問路”。 現在很多大學生對自己的消費不以為然,有錢的時候就大手大腳,等到沒有錢的時候就和家里伸手,所以使得很多大學生養成了不好的習慣,就此我們小組對于這一項目展開調查和研究了這個軟件,有助于我們在平時的消費中養成良好的消費習慣。在我們的調查中發現很多大學生的花銷主要集中在通訊,娛樂等方面。 另外參考了李永華等對武漢高校大學生消費情況的調查表明,大學生在經濟消費水平上存在著巨大差距,其
10、中年消費最高的達到18500元,而年消費最低的只有2100元。武漢市大學生每年消費均值略高于8300元,其中包括學費均值3000元左右,住宿非均值500元左右。大學生的月食品支出在230元左右,它與生活費月支出(480元)比率是47.9%,這可視為大學生的“恩格爾系數”,與1999年武漢市人均消費支出和食物支出相比,呈現出整體上消費水平比較高的趨勢。據百度網站查詢的資料表明,暫時沒有一個成熟、具指導性、針對大學生的理財軟件。大學生是擁有一定的消費能力,除了家庭資金供給外,一部分大學生還有兼職收入、獎學金收入和投資收入,而且重要的一點是大學生將是未來45年后社會的主體消費及創造社會財富的群體,本
11、軟件是根據大學生消費理念設計的,據我們調查所做的調查,有將近70的大學生會考慮使用理財軟件,因此,在理財軟件方面是具有一定的潛力市場。我們小組采用java來實現軟件的開發,主要利用面向對象的編程(OOP)的方法來完成程序的開發。1 緒 論近年來,計算機技術飛速發展幾乎超出了人們的想象,硬件的更新換代速度更是以級數進行。計算機在處理對象、處理方法上都發生了很大的變化。作為計算機科學的重要分支數據庫技術,也被越來越多的應用領域采用來存儲和處理他們的信息資源。計算機已經不再僅僅是科學研究的工具,它越來越多地影響到了我們生活的諸多方面,更多的應用軟件出現在了我們的身邊,給人們生活的方方面面都帶來了極大
12、的便利。近年來隨著國內外社會經濟和科學技術的不斷改革和發展,2004中國大學生消費與生活形態研究報告Error! Reference source not found.指出:“當代大學生不僅消費能力在提高,而且在消費結構方面呈現多元化的趨勢。”各種各樣的開銷與收入也越來越多,很多大學生對于日常賬目的管理感到越來越力不從心,收支管理已刻不容緩。大學生們需要一款適合他們使用的理財軟件。1.1 前期調研為了解大學生對于理財管理系統是否有需求,我們針對大學生理財方面提出了17條問題。我們采用的是通過QQ和E-mail進行隨機電子問卷調查方式,發出問卷50份,收回的有效問卷是36份。調研范圍為:全國各大
13、高校在校大學生,地區主要集中在沈陽、大連,也包括廣州、佛山、上海、鄭州、長沙、濟南、香港等城市。調查表明,有83.33%的大學生每月沒有盈余,甚至是超支。對于問卷第16題“若有一款大學生理財軟件,你是否會考慮使用呢?”,回答“會”的人共有25人。說明有69.44%的人會使用適合他們使用的理財軟件。通過前期調研,不難發現大學生們急需一個成熟、具指導性、針對大學生的理財軟件進行合理的理財分析。1.2 計算機技術綜述在計算機硬件和軟件技術不斷創新和進步的背景下,計算機技術在20世紀有許多重大突破,它涉及到人們生活的方方面面,主要可以歸結為以下四個方面:第一,處理對象的變化。在計算機應用初期,計算機的
14、處理主要是數值和簡單的符號。隨著計算機速度和存儲容量的增大,今天的計算機已經能夠處理聲、圖、文和語言等多種信息,除二維、靜止圖像外,還可以處理三維運動的圖像等等。也就是說,人類使用的任何信息形式現在計算機都可以處理了。這不僅使計算機的用途大大地擴展,而且使今天的用戶能夠從計算機的屏幕上看到圖文并茂,有聲有色的畫面。從而使計算機從專業人員圈子中走出來,走向普通用戶,走向平民百姓。第二,處理方法或建模方法的進步。傳統計算機的應用只限制在數學模型為基礎的數值計算上。不管是科學計算,數據處理還是計算機自動化,這些都離不開數值計算,因此讓計算機做任何事情之前,首先需要建立數學模型:算數的、代數的、微積分
15、的、等等,沒有數學模型計算機無從進行計算,這些使所有傳統算法的基礎,到了20 世紀中葉,由于人工智能的出現以及它所取得的成就,計算機應用開始突破這一限制計算機能夠進行符號計算,記憶邏輯和知識為基礎的符號推理。這些突破極大地擴展了計算機的應用范圍,使那些無法用數學表達的問題,只要人們有足夠的經驗知識,計算機就可能根據這些知識進行模擬,達到問題求解的目的,實現所謂人工智能,人們希望那些目前大家了解還不深,或者還不清楚的問題,計算機也能幫助解決,軟計算就是這個背景下提出的。二十世紀的七八十年代,提出的模糊計算,神經網絡計算以及進化計算等,都是希望計算機能夠進一步處理模糊概念、模糊推理等類問題,是計算
16、機在先前經驗只是較弱的情況下,也能幫助人們處理疑難問題、軟計算或計算智能給人們帶來希望,因此成為近來研究的熱點。第三,處理方式的變化。在處理方式上人們也經歷了三個階段。在早期的主機時代,人們采用的是集中交互處理的模式。這兩種方式都是以各人單獨工作為中心的,現在我們進入了計算機網絡時代,人們的工作方式發生了很大轉變,走向分布協同工作的時代。總之,以上這些變化會影響到21 世紀計算機應用技術的發展和變化。第四,硬件技術的提高。伴隨著時代的發展,由最初的電子管計算機發展到即將到來的量子計算機,計算速度也發展到了最初計算機的數萬倍以上。在外型上,從桌上型、筆記型(Notebook)到掌上型計算機(Pa
17、lm),不管是功能上的提升或可攜帶性的特色,都顯示出未來計算機將以輕薄短小,容易攜帶為主。隨著計算機進一步的小型化,人工智能將越來越強地集成到我們的環境中。便攜設備將像裝飾品一樣穿在衣服里。個人計算機也不斷向著普及的方向發展,各種計算機外設的品質不斷提高、豐富,極大地方便了人們的工作和生活。數據庫技術的發展已經經歷了很長的一段時間,從層次型數據庫,網狀數據庫直到今天的關系型數據庫以及面向對象的數據庫。目前流行的數據庫管理系統(DBMS)有多種,其中大型數據庫管理系統有Oracle, SQL Server 等,小型數據庫管理系統有FoxPro, Access等,它們已能滿足人們對數據庫應用的基本
18、要求。今天,網絡技術的發展對數據庫技術提出了新的要求。人們希望能訪問存儲在不同網格,不同節點上的數據而不需要了解數據存儲的細節,并且能夠在系統局部故障的情況下保證數據無損。這就形成了人們對分布式數據庫管理系統的部分要求數據的位置透明性和安全性。本理財系統采用的開發平臺是Microsoft® Windows XP。與其它操作系統相比,Windows XP 更穩定,有較好的網絡功能。數據庫設計與維護采用的是Mysql,軟件的數據庫訪問及軟件開發工具采用的是Eclipse,它面向對象的編程方式(OOP)使程序設計過程大大簡化,對數據庫的訪問更靈活。相對于其他開發環境,Eclipse使開發人
19、員的工作更快、成本更低、周期更短、質量更高、功能更強。Eclipse為應用開發環境提供了全面綜合性的支持:事件驅動的應用程序;功能強大的編程語言和函數;面向對象的編程;開放的數據庫連接系統。1.3 開發背景與主要內容結合大學生理財現狀,大學生缺乏理財觀念開發這個應用系統的目標是為了代替人工進行許多繁雜的勞動,節省許多資源,提高大學生理財的工作效率。它主要實現的功能如下:功能一:驗證用戶和密碼的正確性再登入,以及修改密碼和退出系統;功能二:保存每次輸入的收支記錄,并提供查詢;功能三:對大學生收入/支出進行管理,實現費用的增加,修改,刪除;功能四:整個收支記錄按需求進行分類查詢。2 系統技術開發2
20、.1 可行性分析可行性研究的目的是用最小的代價在盡可能短的時間內確定問題是否能夠解決。2.1.1 經濟可行性計算機的價格已經十分低廉,性能也有了長足的進步。而本系統的開發,為大學生理財的工作效率帶來了一個質的飛躍,為此主要表現有以下幾個方面:第一,本系統的運行可以代替人工進行許多繁雜的勞動;第二,本系統的運行可以節省許多資源;第三,本系統的運行可以大大的提高大學生理財的工作效率;等等。所以,本系統在經濟上是可行的。2.1.2 技術可行性和運行可行性本理財系統采用的開發平臺是Microsoft® Windows XP。與其它操作系統相比,Windows XP 更穩定,有較好的網絡功能。
21、使用Eclipse作為系統開發的開發環境,它面向對象的編程方式(OOP)使程序設計過程大大簡化,對數據庫的訪問更靈活。提供完善的指令控制語句、類與對象的支持及豐富的數據類型,全面綜合性的支持:事件驅動的應用程序;功能強大的編程語言和函數;面向對象的編程;開放的數據庫連接系統。給開發高性能系統提供了保障,為開發滿足客戶要求的系統保證了代碼的模塊化要求,而代碼模塊化的提高,非常有利于以后對新系統的擴展與修改。相對于其他開發環境,Java使開發人員的工作更快、成本更低、周期更短、質量更高、功能更強。綜上所述,本系統的設計與開發在技術上和硬件設備上的條件都是滿足的,因此,它在技術上是可行的。本系統為一
22、個小型的理財系統,所耗費的資源非常的小,學校的電腦無論是硬件還是軟件都能夠滿足條件,因此,本系統在運行上是可行的。2.2 面對對象的程序設計介紹傳統的結構化程序設計(Structured Programming)是一種強調功能抽象化和模塊化的編程方法,它把解決問題的過程看作是一個處理單位。這就是說結構化程序設計中,模塊是對功能的抽象,而每一個模塊都是一個處理單位,并有輸入和輸出。而面向對象的程序設計(Object Oriented Programming, OOP)是一種以對象為基礎,以事件來驅動對象執行的程序設計技術。OOP 把計算過程看作為對象的分類過程加上其狀態變化的過程,也就是將一個應
23、用程序逐步劃分成相互關聯的多個對象,并且建立起與這些對象相互關聯的事件過程,通過對象對所發生的事件產生響應,并執行相應的事件過程以引發對象狀態的改變,從而最終達到完成計算的目的。與結構化程序設計不同,面向對象的程序設計綜合了功能的抽象和數據的抽象,它把解決問題的過程看作是一個對象分類演繹的過程。在OOP 中,對象(Object)是一個包括數據和方法(操作)的并被封裝起來的整體,它是對數據和功能的抽象和統一,而對象就包含了模塊的概念。面向對象設計是一種全新的程序設計方法,它從根本上改變了傳統的程序設計模式。其基本思想是:通過建立與具體實際應用相對應的對象,并通過這些對象的組合來創建具體的應用程序
24、。這種設計方法給程序設計帶來了許多良好特性,一般說來有以下幾點:(1) 模塊性:對象是一個功能和數據獨立的單元,它們之間只能通過對象認可的方式來進行通信,并可以較為自由地為其他對象所調用。(2) 封裝性:這一特性為信息的隱藏提供了具體的實現手段,用戶不必清楚對象內部的細節,只需了解其功能即可。(3) 繼承性:這一特性為代碼的共享提供了一種非常有效的方法,從而可以避免重復的代碼設計,實現對象的可重用性。這一特性也是面向對象程序設計技術最本質的特征。(4) 可靠性:對象實現了抽象和封裝,從而使得其中出現的錯誤限制在對象的內部,因而不會向外部傳播,同時也易于檢查和維護。(5) 可擴充性:面向對象系統
25、可以通過繼承機制不斷擴充其對象的功能,而不會影響原系統的運行。(6) 連續性:雖然面向對象的程序設計語言在編程模式上相差很大,但它并沒有摒棄傳統的做法,它不僅采用了傳統程序設計語言的語言元素,而且利用它們來模擬建立對象,從而使得一個熟悉傳統程序設計語言的編程者能夠很快掌握面向對象設計的規律。2.3 SQL語言介紹SQL(Structured Query Language,結構化查詢語言)是由Boyce和Chamberlin在1974年提出的,由于它功能豐富,使用靈活、語言簡潔易學等特點,在計算機工業界和計算機用戶中倍受歡迎,快得到應用和推廣。許多關系數據庫系統DB2、Oracle、SQL Se
26、rver 2000、Sybase等都實現了SQL語言。1986年10月,美國國家標準局(ANSI)的數據庫委員會批準了SQL作為關系數據庫語言的美國標準。1987年6月,國際標準化組織(ISO)將其采納為國際標準,也稱為“SQL86”。因此,SQL不僅是結構化查詢語言,而且成為了國際標準語言。SQL數據庫的體系結構基本上了三級模式結構。如圖2.1。圖2.1 SQL數據庫的體系結構SQL數據庫的體系結構具有如下特點:(1) 一個數據庫(Database)是表和約束的集合;(2) 一個表(Table)由行(Row)構成,每行是列(Column)的集合;(3) 一張表既可以是基本表,也可以是一個視圖
27、;(4) 一個基本表可以跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表,一個表可以帶若干索引,索引文件也存放在存儲文件中;(5) SQL用戶可以是應用程序,也可以是終端用戶。SQL語句可嵌入在各種宿主語言中,宿主語言有VB、VC、VC#、VB.Net、Delphi、PowerBuildings等高級語言;SQL語言也能作為獨立用戶接口,供交互環境下的終端用戶使用。2.4 JDBC數據訪問技術JDBC(Java Data Base Connectivity,java數據庫連接)是一種用于執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類
28、和接口組成。JDBC為工具/數據庫開發人員提供了一個標準的API,據此可以構建更高級的工具和接口,使數據庫開發人員能夠用純 Java API 編寫數據庫應用程序,同時,JDBC也是個商標名。 有了JDBC,向各種關系數據發送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數據庫專門寫一個程序,為訪問Oracle數據庫又專門寫一個程序,或為訪問Informix數據庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應數據庫發送SQL調用。同時,將Java語言和JDBC結合起來使程序員不必為不同的平臺編寫不同的應用程序,只須寫一遍程序就
29、可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優勢。Java數據庫連接體系結構是用于Java應用程序連接數據庫的標準方法。JDBC對Java程序員而言是API,對實現與數據庫連接的服務提供商而言是接口模型。作為API,JDBC為程序開發提供標準的接口,并為數據庫廠商及第三方中間件廠商實現與數據庫的連接提供了標準方法。JDBC使用已有的SQL標準并支持與其它數據庫連接標準,如ODBC之間的橋接。JDBC實現了所有這些面向標準的目標并且具有簡單、嚴格類型定義且高性能實現的接口。 Java 具有堅固、安全、易于使用、易于理解和可從網絡上自動下載等特性,是編寫數據庫應用程序的杰出
30、語言。所需要的只是 Java應用程序與各種不同數據庫之間進行對話的方法。而 JDBC 正是作為此種用途的機制。 JDBC 擴展了 Java 的功能。例如,用 Java 和 JDBC API 可以發布含有 applet 的網頁,而該 applet 使用的信息可能來自遠程數據庫企業也可以用 JDBC 通過 Intranet 將所有職員連到一個或多個內部數據庫中(即使這些職員所用的計算機有 Windows、 Macintosh 和UNIX 等各種不同的操作系統)。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問數據庫的要求也在日益增加。 MIS 管理員們都喜歡 Java
31、和 JDBC 的結合,因為它使信息傳播變得容易和經濟。企業可繼續使用它們安裝好的數據庫,并能便捷地存取信息,即使這些信息是儲存在不同數據庫管理系統上。新程序的開發期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應用程序或只更新一次,然后將它放到服務器上,隨后任何人就都可得到最新版本的應用程序。對于商務上的銷售信息服務, Java 和JDBC 可為外部客戶提供獲取信息更新的更好方法。2.5 數據庫系統概述(1) 數據(Data)數據是數據庫中存儲的對象。數據在大多數人頭腦中的第一反映就是數字。其實數字只是最簡單的一種數據,是數據的一種傳統和狹義的理解。廣義的理解,數據的種類很多,文字,圖形,
32、圖像,聲音等都是數據,可以對數據做以下定義:描述事物的符號記錄稱為數據。(2) 數據庫(Database)數據庫,顧名思義,是存放數據的倉庫。只不過這個倉庫是在計算機存儲設備上,而且數據是按一定的格式存放的。數據庫是指長期存在計算機內的,有組織的,可共享的數據集合。數據庫中的數據按一定的數據模型組織,描述和存儲,具有較高的數據獨立性和易擴展性,并可以為各種用戶共享。(3) 數據庫管理系統(Database Management System,簡稱DBMS)數據庫管理系統是位于用戶和操作系統之間的一層數據管理軟件。它主要有以下幾個方面的功能: 數據定義功能DBMS提供數據定義語言,用戶通過它可以
33、方便的對數據庫中的數據對象進行定義。 數據操縱功能DBMS還提供數據操縱語言,用戶可以使用這語言操縱數據實現對數據庫的基本操作。如查詢,插入,刪除和修改等。 數據庫的運行管理數據庫在建立,運行和維護時由數據庫管理系統統一管理,統一控制,以保證數據的安全性,完整性,多用戶對數據的并發使用乃發生故障后的系統恢復。 數據庫的建立和維護功能它包括數據庫初始的輸入,轉換功能,數據庫的轉存,恢復功能,數據庫的重組織功能和性能監視。這些功能通常是由一些實用的程序完成的。2.6 系統開發理論介紹2.6.1 系統規劃階段(網貸系統)系統規劃階段的任務是對各大學生理財的環境、目標及現行系統的狀況進行初步調查,根據
34、大學生理財目標和發展戰略,確定信息系統的發展戰略,對建設新系統的需求做出分析和預測,同時考慮建設新系統所受的各種約束,研究建設新系統的必要性和可能性。根據需要與可能,給出擬建系統的備選方案。對這些方案進行可行性分析,寫出可行性分析報告。可行性分析報告審議通過后,將新系統建設方案及實施計劃編寫成系統設計任務書。2.6.2 系統分析階段系統分析階段的任務是根據系統設計任務書所確定的范圍,對現行系統進行詳細調查,描述現行系統的業務流程,指出現行系統的局限性和不足之處,確定新系統的基本目標和邏輯功能要求,即提出新系統的邏輯模型。這個階段又稱為邏輯設計階段,他是整個系統建設的關鍵階段,也是信息系統建設與
35、一般工程項目的重要區別所在。該階段的工作成果體現在系統說明書中,這是系統建設的必備文件。它既是給用戶看的,也是下一階段的工作依據。因此,系統說明書既要通俗,又要準確。用戶通過說明書可以了解未來系統的功能,判斷是不是其所要求的系統。系統說明書一旦討論通過,就是系統設計的依據,也是將來驗收系統的依據。2.6.3 系統設計階段簡單地講,系統分析階段的任務是回答系統“做什么”的問題,而系統設計階段要回答的問題是“怎么做”。該階段的任務是根據系統說明書中規定的功能要求,考慮實際條件,具體設計實現邏輯模型的技術方案,也即設計新系統的物理模型。這個階段又稱為物理設計階段,可分為總體設計和詳細設計兩個階段。這
36、個階段的技術文檔是“系統設計說明書”。2.6.4系統實施階段系統實施階段是將設計的系統付諸實施的階段。這一階段的任務包括計算機等設備的購置、安裝和調試,程序的編寫和調試,人員培訓,數據文件轉換,系統調試與轉換等。這個階段的特點是幾個互相聯系、互相制約的任務同時展開,必須精心安排、合理組織。系統實施是按實施計劃分階段完成的,每個階段應寫出實施進度報告。系統測試之后寫出系統測試分析報告。2.6.5 系統運行和維護階段系統投入運行后,需要經常進行維護和評價,記錄系統運行的情況,根據一定的規格對系統進行必要的修改,評價系統的工作質量和經濟效益。2.7 開發環境硬件環境CPU:賽揚 2.4GHz,內存:
37、1GB,硬盤:120GB操作系統Microsoft® Windows XP Professional Service Pack 2軟件環境開發工具:Eclipse3 系統設計3.1 系統結構設計為了真正達到我們方便顧客,做到簡潔方便易于使用,我們把我們的軟件界面設計為三大功能區:主功能區、副功能區和操作區。圖3.1 p2p理財系統結構功能設計圖3.2 用戶驗證與操作流向設計圖3.3 理財系統工作原理設計3.2數據庫設計數據庫是系統信息的有效中心,一個優秀的數據庫設計應考慮到系統工程的功能,系統的執行速度,以及是否可能引起系統工作的異常等。數據庫的設計合理與否不僅直接影響到程序設計的質
38、量,而且影響到系統的實現。3.2.1數據庫結構設計(1)用戶表:說明本系統的用戶和密碼的存儲情況,有主鍵,自動增加,用戶不能為空;表3.1 用戶名表字段名稱數據類型主鍵是否為空UName文本否否PWord文本否是ID自動增加是否Active 整型否是(2) 收入表:說明本系統收入信息存儲數據的格式,其中把收入編號設為本記錄的主鍵,日期要為日期數據類型,這些基本的信息都不能為空,除了備注以外;表3.2 收入信息表字段名稱數據類型主鍵是否為空收入編號文本是否用戶名稱文本否否收入類型文本否否日期日期/時間否否金額數字否否備注備注否是(3) 支出表:說明本系統支出信息存儲數據的格式,其中把支出編號設為
39、本記錄的主鍵,日期要為日期數據類型,這些基本的信息都不能為空,除了備注以外;表3.3 收入信息表字段名稱數據類型主鍵是否為空支出編號文本是否用戶名稱文本否否支出類型1文本否否支出類型2文本否否日期日期/時間否否金額數字否否備注備注否是(4)收入類型表:說明本系統收入類型,作為收入表的“收入類型”字段的外碼參照。表3.4 收入類型表字段名稱數據類型主鍵是否為空收入類型文本否否(5)支出類型表:說明本系統支出類型,作為支出表的“支出類型”字段的外碼參照。表3.5 支出類型表字段名稱數據類型主鍵是否為空說明支出類型1文本否否支出大類支出類型2文本否否支出分類4 系統實現4.1 界面設計(1) 在進入
40、系統之后,必須要有符合本系統的用戶以及每個用戶對應的密碼。如果沒輸入用戶名,點擊確定將會提示請輸入用戶名。如果用戶名錯誤和用戶的密碼不符合也將會有錯誤提示。具體界面如圖4.1所示。4.1系統登陸界面(2) 用戶和密碼正確后,統的主界面將會顯示當前用戶的賬戶信息。在這個界面里將實現本系統所有的功能,用戶一看便會使用,如圖4.2所示。4.2 主要代碼的編寫4.2.1 數據庫模塊代碼實現public class MyDBConnection private Connection myConnection;public MyDBConnection() public errorType init()
41、try Class.forName("com.mysql.jdbc.Driver"); myConnection=DriverManager.getConnection( "jdbc:mysql:/localhost:3306/iwallet?characterEncoding=utf8","root", "123456" ); return errorType.SUCCESS; catch(Exception e) System.out.println("Failed to get connection
42、"); e.printStackTrace(); return errorType.DATABASE_ERROR; public Connection getMyConnection() return myConnection; public void close(ResultSet rs) if(rs !=null) try rs.close(); catch(Exception e) public void close(java.sql.Statement stmt) if(stmt !=null) try stmt.close(); catch(Exception e) pub
43、lic void destroy() if(myConnection !=null) try myConnection.close(); catch(Exception e) 4.2.2 用戶登陸代碼實現package controller;import java.sql.*;import gui.*;import controller.IConstant.errorType;import database.DataQuery;public class LoginController public LoginController() public errorType login(String
44、name, String password) ResultSet rs; DataQuery dq = new DataQuery(); rs=dq.getUserByName(name); errorType r = verify(rs, password); if (r = errorType.SUCCESS) String oldname = IWalletApp.getApplication().getUser().getName(); if(oldname != null) r = dq.setUserActive(oldname, false); if(r!=errorType.S
45、UCCESS) return r; r = dq.setUserActive(name, true); if(r!=errorType.SUCCESS) return r; IWalletApp.getApplication().getUser().alterUser(name); return errorType.SUCCESS; else return r; private errorType verify(ResultSet rs, String password) try if(!rs.next() return errorType.NAME_NOT_EXIST_ERROR; /nam
46、e error if (rs.getInt("Password") = password.hashCode() if(!rs.getBoolean("Active") return errorType.SUCCESS; else return errorType.ALREADY_LOGIN_ERROR; /yonghu yi denglu else return errorType.PASSWORD_WRONG_ERROR; /passwordwroong catch (SQLException ex) /sql error return errorTy
47、pe.SQL_ERROR; 5 系統測試和優化5.1 測試目的系統測試的目的是:測試的定義是為了發現程序中的錯誤而執行程序的過程。所以測試的目的是測試系統中各個功能模塊的功能,及時發現迄今為止尚未發現的錯誤,及時發現系統中尚未發現的缺陷,及時地反饋給程序設計人員,以達到改正錯誤、優化程序代碼、提高程序執行速度和提高軟件可靠性的目的。(網貸系統)5.2 測試方法測試任何的系統都有兩種方法:如果已經知道了系統應該具有的功能,可以通過測試來檢驗是否每個功能都能正常使用;如果知道產品內部工作過程,可以通過測試來檢驗系統內部動作是否按照規格說明回溯的規定正常進行。前一種方法稱為黑盒測試;后一種方法稱為白
48、盒測試。對于軟件測試而言,黑盒測試方法把程序看成一個黑盒子,完全不考慮程序的內部結構和處理過程。也就是說,黑盒測試是在程序接口進行的測試,它只檢查程序功能是否能按照規格說明書的規定正常使用,程序是否能適當的接收輸入數據產生正確的輸出信息,并且保持外部信息(如數據庫或文件)的完整性。黑盒測試又稱為功能測試。與黑盒測試法相反,白盒測試法這種方法按照程序內部的邏輯測試程序,檢驗程序中的每條通路是否都能按預定要求正確工作。白盒測試又稱為結構測試。5.3 測試步驟除非是測試一個小程序,否則一開始就把整個系統作為一個單獨的實體來測試是不現實的。與開發過程類似,測試過程也必須分步驟進行,后一個步驟在邏輯上是
49、前一個步驟的繼續。從過程的觀點考慮測試,在軟件工程環境中的測試過程,實際上是順序進行的四個步驟的序列:(1) 單元測試單元測試階段著重測試每個單獨的模塊,以確保它作為一個單元來說的功能是正確的。單元測試大量使用白盒測試技術,檢查模塊控制結構中的特定路徑,以確保做到完全覆蓋并發現最大數量的錯誤。(2) 集成測試集成測試是測試和組裝軟件的系統化技術,在把模塊按照設計要求組裝起來的同時進行測試,主要目標是發現與接口有關的問題。在集成測試過程中最常使用的是黑盒測試用例設計技術,當然,為了保證覆蓋主要的控制路徑,也可能使用一定數量的白盒測試。(3) 高級測試在軟件集成完成之后,還要進行一系列高級測試。必
50、須測試在需求分析階段確定下來的標準,確認測試是對軟件滿足所有功能的、行為的和性能的需求的最終保證。5.4 系統優化(網貸系統)系統優化很大一部分是在數據庫系統的優化,查詢優化在數據庫中有著非常重要的地位。所以系統要優化大部分的優化是在查詢數據庫方面來做的。查詢優化的優點不僅在于用戶不必考慮如何最好地表達查詢以獲得較好的效率,而且在于系統可以比用戶程序的優化做的更好,因為: (1) 優化器可以從數據字典中獲取許多統計信息; (2) 如果數據庫的物理統計信息改變了,系統可以自動的對查詢進行重新優化以選擇適當的執行計劃; (3) 優化器可以考慮數百種不同的優化技術,而程序員一般只能考慮有限的幾種可能
51、性; (4) 優化器中包括了很多復雜的優化技術,這些技術要很好的技術員才能掌握,系統的自動優化解決了這個問題。6 討 論6.1 源代碼的控制專業性軟件開發常常是由多個程序員進行的。隨著越來越多的軟件開發人員參與一個項目的開發,管理所有開發人員所做的工作就變得更加困難。小組開發的軟件項目很快會變成多線程怪物,隨時都可能中止運行。下面是小組軟件開發必須解決:多個開發人員不在同一時間修改同一個代碼和對象;防止軟件開發人員改寫其他人的工作;跟蹤軟件的版本;將各個項目文件集中起來等問題。當兩個開發人員同時修改同一個代碼時,有個人的工作就會丟失。一般來說,完成修改的第一個程序員將會丟失他所做的修改工作,
52、因為第二個程序員改寫了第一個程序員所做的修改。要想確保項目開發過程中開發人員不會互相改寫對方的工作,這是非常困難的。另外,多個程序員還必須注意不要為了解決同一個問題而浪費時間。因此,使用CVS不失為一個很好的方法,因為CVS可以 管理各種類型的源文件,包括文本文件、圖形文件、資源文件和聲音文件;控制誰有權訪問源代碼文件;了解誰正在對源代碼文件進行工作;確保每次只有一個人能夠修改源文件;返回源文件的以前版本,或者使當前的修改與較早的修改相合并;將當前版本以及修改保留在一個集中位置。6.2 變量命名的約定更好的命名約定代替了以前單字符前綴的命名標記。這種命名約定稱為匈牙利標記法,它使用3字符第二部
53、分 編程中使用的約定前綴來表示數據類型和控件類型,這種命名約定之所以稱為匈牙利標記法,部分原因是它的發明人查爾斯·西蒙尼祖籍是匈牙利,部分原因是這些前綴常常使變量名看上去像個外文字。隨著前綴所表示的信息的增加,前綴的長度也會變長,比如作用域或變量是個數組時,就會出現這種情況。雖然標準前綴通常為 3個字符,隨著修飾符的增加,使用較長前綴的命名約定也稱為匈牙利標記法,匈牙利標記法是個總的概念,而不是特定的實現方法。在匈牙利標記法中,一個獨一無二的3字符前綴被賦予每個數據類型和每個控件類型。3個字符可以實現充分的多變性,并使前綴合乎邏輯和直觀。6.3 JAVA對字符串操作總結一、String類String 類不是原始基本數據類型,在Java中,字符串是一個對象。String 類代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作為此類的實例來實現。 字符串是常量;它們的值在創建之后不能改變。字符串緩沖區支持可變的字符串。因為 String 對象是不可變的,所以可以共享它們。例如: String str = "abc" 等效于: char data = 'a', 'b', 'c' String str
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省達州開江縣聯考2025屆第二學期期末初三質量檢測試題化學試題含解析
- 商丘市重點中學2024-2025學年高三第五次模擬考試(物理試題文)試題含解析
- 無錫太湖學院《語言研究項目》2023-2024學年第二學期期末試卷
- 山東濟南市歷下區2024-2025學年初三下學期大聯考(一)英語試題含答案
- 玉林師范學院《生物化學下》2023-2024學年第二學期期末試卷
- 物業細節決定成敗培訓
- 離心泵結構培訓
- 2025年集裝箱水泥運輸合同模板
- 2025屋頂廣告牌建設合同
- 2025關于貨車租賃合同
- 二年級美術上冊課件 《3.我的手印畫》 贛美版 (共18張PPT)
- Q∕SY 126-2014 油田水處理用緩蝕阻垢劑技術規范
- 環保管理制度(適用于軟件企業)
- 全國青少年機器人技術等價考試三級全套課件
- 適老化改造培訓課件(PPT 31頁)
- 鋼結構門式剛架廠房設計土木工程畢業設計
- 幼兒園兒歌100首
- 光伏并網逆變器調試報告正式版
- 市政道路大中修工程管理指引
- SF_T 0097-2021 醫療損害司法鑒定指南_(高清版)
- 易學書籍大全291本
評論
0/150
提交評論