版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、網(wǎng)貸系統(tǒng):基于JAVA實(shí)現(xiàn)的p2p理財(cái)系統(tǒng)(論文)目 錄摘 要2ABSTRACT3引 言41 緒 論51.1 前期調(diào)研51.2 計(jì)算機(jī)技術(shù)綜述51.3 開發(fā)背景與主要內(nèi)容72 系統(tǒng)技術(shù)開發(fā)82.1 可行性分析82.2 面對對象的程序設(shè)計(jì)介紹92.3 SQL語言介紹102.4 JDBC數(shù)據(jù)訪問技術(shù)112.5 數(shù)據(jù)庫系統(tǒng)概述122.6 系統(tǒng)開發(fā)理論介紹132.7 開發(fā)環(huán)境143 系統(tǒng)設(shè)計(jì)163.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)163.2數(shù)據(jù)庫設(shè)計(jì)174 系統(tǒng)實(shí)現(xiàn)194.1 界面設(shè)計(jì)194.2 主要代碼的編寫205 系統(tǒng)測試和優(yōu)化245.1 測試目的245.2 測試方法245.3 測試步驟245.4 系統(tǒng)優(yōu)化256
2、 討 論266.1 源代碼的控制266.2 變量命名的約定276.3 JAVA對字符串操作總結(jié)276.4 對錯(cuò)誤的處理30結(jié) 論32致 謝34參 考 文 獻(xiàn)34摘 要理財(cái)系統(tǒng)是一個(gè)企業(yè)不可缺少的部分,企業(yè)很早就實(shí)施了理財(cái)?shù)募泄芾?,而家庭或大學(xué)生使用的小型理財(cái)系統(tǒng)卻只是鳳毛麟角。然而,理財(cái)系統(tǒng)不僅僅對企業(yè),而且對學(xué)生個(gè)人都有十分重要的意義。論文系統(tǒng)地分析了軟件開發(fā)的背景及過程,首先介紹了軟件的開發(fā)環(huán)境,其次介紹了本軟件的詳細(xì)設(shè)計(jì)過程:數(shù)據(jù)庫的設(shè)計(jì)以及具體界面的設(shè)計(jì)和功能,最后對在本軟件開發(fā)過程中的問題進(jìn)行了總結(jié)。利用面向?qū)ο蟮木幊谭椒?OOP)和ADO數(shù)據(jù)庫訪問技術(shù),其開發(fā)主要包括后臺數(shù)據(jù)庫的
3、建立、維護(hù)以及前端應(yīng)用程序開發(fā),通過JAVA和數(shù)據(jù)庫 相結(jié)合,實(shí)現(xiàn)了大學(xué)生理財(cái)?shù)淖詣踊托畔⒒?。系統(tǒng)主要包括以下幾個(gè)模塊:用戶密碼登陸,原始數(shù)據(jù)的匯入、修改、刪除等,從而實(shí)現(xiàn)對大學(xué)生個(gè)人的收入與支出進(jìn)行有效、系統(tǒng)的管理,并使之更全面和靈活。通過論文,可以了解到“有理真好大學(xué)生理財(cái)軟件”的規(guī)劃、設(shè)計(jì)過程,掌握系統(tǒng)的功能。關(guān)鍵詞:網(wǎng)貸系統(tǒng);理財(cái);數(shù)據(jù)庫;面向?qū)ο蟮木幊谭椒?,p2p理財(cái)系統(tǒng)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引 言美國著名經(jīng)濟(jì)學(xué)家詹姆斯菲爾德對于美國大學(xué)生理財(cái)規(guī)劃,提出了專門的“111”模式:學(xué)會貸款用明天的錢圓今天的夢,學(xué)會兼職讓“增值”為以后的超前消費(fèi)埋下伏筆,學(xué)會投資為今后的個(gè)人理財(cái)“投石問路”。 現(xiàn)在很多大學(xué)生對自己的消費(fèi)不以為然,有錢的時(shí)候就大手大腳,等到?jīng)]有錢的時(shí)候就和家里伸手,所以使得很多大學(xué)生養(yǎng)成了不好的習(xí)慣,就此我們小組對于這一項(xiàng)目展開調(diào)查和研究了這個(gè)軟件,有助于我們在平時(shí)的消費(fèi)中養(yǎng)成良好的消費(fèi)習(xí)慣。在我們的調(diào)查中發(fā)現(xiàn)很多大學(xué)生的花銷主要集中在通訊,娛樂等方面。 另外參考了李永華等對武漢高校大學(xué)生消費(fèi)情況的調(diào)查表明,大學(xué)生在經(jīng)濟(jì)消費(fèi)水平上存在著巨大差距,其
10、中年消費(fèi)最高的達(dá)到18500元,而年消費(fèi)最低的只有2100元。武漢市大學(xué)生每年消費(fèi)均值略高于8300元,其中包括學(xué)費(fèi)均值3000元左右,住宿非均值500元左右。大學(xué)生的月食品支出在230元左右,它與生活費(fèi)月支出(480元)比率是47.9%,這可視為大學(xué)生的“恩格爾系數(shù)”,與1999年武漢市人均消費(fèi)支出和食物支出相比,呈現(xiàn)出整體上消費(fèi)水平比較高的趨勢。據(jù)百度網(wǎng)站查詢的資料表明,暫時(shí)沒有一個(gè)成熟、具指導(dǎo)性、針對大學(xué)生的理財(cái)軟件。大學(xué)生是擁有一定的消費(fèi)能力,除了家庭資金供給外,一部分大學(xué)生還有兼職收入、獎學(xué)金收入和投資收入,而且重要的一點(diǎn)是大學(xué)生將是未來45年后社會的主體消費(fèi)及創(chuàng)造社會財(cái)富的群體,本
11、軟件是根據(jù)大學(xué)生消費(fèi)理念設(shè)計(jì)的,據(jù)我們調(diào)查所做的調(diào)查,有將近70的大學(xué)生會考慮使用理財(cái)軟件,因此,在理財(cái)軟件方面是具有一定的潛力市場。我們小組采用java來實(shí)現(xiàn)軟件的開發(fā),主要利用面向?qū)ο蟮木幊?OOP)的方法來完成程序的開發(fā)。1 緒 論近年來,計(jì)算機(jī)技術(shù)飛速發(fā)展幾乎超出了人們的想象,硬件的更新?lián)Q代速度更是以級數(shù)進(jìn)行。計(jì)算機(jī)在處理對象、處理方法上都發(fā)生了很大的變化。作為計(jì)算機(jī)科學(xué)的重要分支數(shù)據(jù)庫技術(shù),也被越來越多的應(yīng)用領(lǐng)域采用來存儲和處理他們的信息資源。計(jì)算機(jī)已經(jīng)不再僅僅是科學(xué)研究的工具,它越來越多地影響到了我們生活的諸多方面,更多的應(yīng)用軟件出現(xiàn)在了我們的身邊,給人們生活的方方面面都帶來了極大
12、的便利。近年來隨著國內(nèi)外社會經(jīng)濟(jì)和科學(xué)技術(shù)的不斷改革和發(fā)展,2004中國大學(xué)生消費(fèi)與生活形態(tài)研究報(bào)告Error! Reference source not found.指出:“當(dāng)代大學(xué)生不僅消費(fèi)能力在提高,而且在消費(fèi)結(jié)構(gòu)方面呈現(xiàn)多元化的趨勢。”各種各樣的開銷與收入也越來越多,很多大學(xué)生對于日常賬目的管理感到越來越力不從心,收支管理已刻不容緩。大學(xué)生們需要一款適合他們使用的理財(cái)軟件。1.1 前期調(diào)研為了解大學(xué)生對于理財(cái)管理系統(tǒng)是否有需求,我們針對大學(xué)生理財(cái)方面提出了17條問題。我們采用的是通過QQ和E-mail進(jìn)行隨機(jī)電子問卷調(diào)查方式,發(fā)出問卷50份,收回的有效問卷是36份。調(diào)研范圍為:全國各大
13、高校在校大學(xué)生,地區(qū)主要集中在沈陽、大連,也包括廣州、佛山、上海、鄭州、長沙、濟(jì)南、香港等城市。調(diào)查表明,有83.33%的大學(xué)生每月沒有盈余,甚至是超支。對于問卷第16題“若有一款大學(xué)生理財(cái)軟件,你是否會考慮使用呢?”,回答“會”的人共有25人。說明有69.44%的人會使用適合他們使用的理財(cái)軟件。通過前期調(diào)研,不難發(fā)現(xiàn)大學(xué)生們急需一個(gè)成熟、具指導(dǎo)性、針對大學(xué)生的理財(cái)軟件進(jìn)行合理的理財(cái)分析。1.2 計(jì)算機(jī)技術(shù)綜述在計(jì)算機(jī)硬件和軟件技術(shù)不斷創(chuàng)新和進(jìn)步的背景下,計(jì)算機(jī)技術(shù)在20世紀(jì)有許多重大突破,它涉及到人們生活的方方面面,主要可以歸結(jié)為以下四個(gè)方面:第一,處理對象的變化。在計(jì)算機(jī)應(yīng)用初期,計(jì)算機(jī)的
14、處理主要是數(shù)值和簡單的符號。隨著計(jì)算機(jī)速度和存儲容量的增大,今天的計(jì)算機(jī)已經(jīng)能夠處理聲、圖、文和語言等多種信息,除二維、靜止圖像外,還可以處理三維運(yùn)動的圖像等等。也就是說,人類使用的任何信息形式現(xiàn)在計(jì)算機(jī)都可以處理了。這不僅使計(jì)算機(jī)的用途大大地?cái)U(kuò)展,而且使今天的用戶能夠從計(jì)算機(jī)的屏幕上看到圖文并茂,有聲有色的畫面。從而使計(jì)算機(jī)從專業(yè)人員圈子中走出來,走向普通用戶,走向平民百姓。第二,處理方法或建模方法的進(jìn)步。傳統(tǒng)計(jì)算機(jī)的應(yīng)用只限制在數(shù)學(xué)模型為基礎(chǔ)的數(shù)值計(jì)算上。不管是科學(xué)計(jì)算,數(shù)據(jù)處理還是計(jì)算機(jī)自動化,這些都離不開數(shù)值計(jì)算,因此讓計(jì)算機(jī)做任何事情之前,首先需要建立數(shù)學(xué)模型:算數(shù)的、代數(shù)的、微積分
15、的、等等,沒有數(shù)學(xué)模型計(jì)算機(jī)無從進(jìn)行計(jì)算,這些使所有傳統(tǒng)算法的基礎(chǔ),到了20 世紀(jì)中葉,由于人工智能的出現(xiàn)以及它所取得的成就,計(jì)算機(jī)應(yīng)用開始突破這一限制計(jì)算機(jī)能夠進(jìn)行符號計(jì)算,記憶邏輯和知識為基礎(chǔ)的符號推理。這些突破極大地?cái)U(kuò)展了計(jì)算機(jī)的應(yīng)用范圍,使那些無法用數(shù)學(xué)表達(dá)的問題,只要人們有足夠的經(jīng)驗(yàn)知識,計(jì)算機(jī)就可能根據(jù)這些知識進(jìn)行模擬,達(dá)到問題求解的目的,實(shí)現(xiàn)所謂人工智能,人們希望那些目前大家了解還不深,或者還不清楚的問題,計(jì)算機(jī)也能幫助解決,軟計(jì)算就是這個(gè)背景下提出的。二十世紀(jì)的七八十年代,提出的模糊計(jì)算,神經(jīng)網(wǎng)絡(luò)計(jì)算以及進(jìn)化計(jì)算等,都是希望計(jì)算機(jī)能夠進(jìn)一步處理模糊概念、模糊推理等類問題,是計(jì)算
16、機(jī)在先前經(jīng)驗(yàn)只是較弱的情況下,也能幫助人們處理疑難問題、軟計(jì)算或計(jì)算智能給人們帶來希望,因此成為近來研究的熱點(diǎn)。第三,處理方式的變化。在處理方式上人們也經(jīng)歷了三個(gè)階段。在早期的主機(jī)時(shí)代,人們采用的是集中交互處理的模式。這兩種方式都是以各人單獨(dú)工作為中心的,現(xiàn)在我們進(jìn)入了計(jì)算機(jī)網(wǎng)絡(luò)時(shí)代,人們的工作方式發(fā)生了很大轉(zhuǎn)變,走向分布協(xié)同工作的時(shí)代??傊?,以上這些變化會影響到21 世紀(jì)計(jì)算機(jī)應(yīng)用技術(shù)的發(fā)展和變化。第四,硬件技術(shù)的提高。伴隨著時(shí)代的發(fā)展,由最初的電子管計(jì)算機(jī)發(fā)展到即將到來的量子計(jì)算機(jī),計(jì)算速度也發(fā)展到了最初計(jì)算機(jī)的數(shù)萬倍以上。在外型上,從桌上型、筆記型(Notebook)到掌上型計(jì)算機(jī)(Pa
17、lm),不管是功能上的提升或可攜帶性的特色,都顯示出未來計(jì)算機(jī)將以輕薄短小,容易攜帶為主。隨著計(jì)算機(jī)進(jìn)一步的小型化,人工智能將越來越強(qiáng)地集成到我們的環(huán)境中。便攜設(shè)備將像裝飾品一樣穿在衣服里。個(gè)人計(jì)算機(jī)也不斷向著普及的方向發(fā)展,各種計(jì)算機(jī)外設(shè)的品質(zhì)不斷提高、豐富,極大地方便了人們的工作和生活。數(shù)據(jù)庫技術(shù)的發(fā)展已經(jīng)經(jīng)歷了很長的一段時(shí)間,從層次型數(shù)據(jù)庫,網(wǎng)狀數(shù)據(jù)庫直到今天的關(guān)系型數(shù)據(jù)庫以及面向?qū)ο蟮臄?shù)據(jù)庫。目前流行的數(shù)據(jù)庫管理系統(tǒng)(DBMS)有多種,其中大型數(shù)據(jù)庫管理系統(tǒng)有Oracle, SQL Server 等,小型數(shù)據(jù)庫管理系統(tǒng)有FoxPro, Access等,它們已能滿足人們對數(shù)據(jù)庫應(yīng)用的基本
18、要求。今天,網(wǎng)絡(luò)技術(shù)的發(fā)展對數(shù)據(jù)庫技術(shù)提出了新的要求。人們希望能訪問存儲在不同網(wǎng)格,不同節(jié)點(diǎn)上的數(shù)據(jù)而不需要了解數(shù)據(jù)存儲的細(xì)節(jié),并且能夠在系統(tǒng)局部故障的情況下保證數(shù)據(jù)無損。這就形成了人們對分布式數(shù)據(jù)庫管理系統(tǒng)的部分要求數(shù)據(jù)的位置透明性和安全性。本理財(cái)系統(tǒng)采用的開發(fā)平臺是Microsoft® Windows XP。與其它操作系統(tǒng)相比,Windows XP 更穩(wěn)定,有較好的網(wǎng)絡(luò)功能。數(shù)據(jù)庫設(shè)計(jì)與維護(hù)采用的是Mysql,軟件的數(shù)據(jù)庫訪問及軟件開發(fā)工具采用的是Eclipse,它面向?qū)ο蟮木幊谭绞?OOP)使程序設(shè)計(jì)過程大大簡化,對數(shù)據(jù)庫的訪問更靈活。相對于其他開發(fā)環(huán)境,Eclipse使開發(fā)人
19、員的工作更快、成本更低、周期更短、質(zhì)量更高、功能更強(qiáng)。Eclipse為應(yīng)用開發(fā)環(huán)境提供了全面綜合性的支持:事件驅(qū)動的應(yīng)用程序;功能強(qiáng)大的編程語言和函數(shù);面向?qū)ο蟮木幊?;開放的數(shù)據(jù)庫連接系統(tǒng)。1.3 開發(fā)背景與主要內(nèi)容結(jié)合大學(xué)生理財(cái)現(xiàn)狀,大學(xué)生缺乏理財(cái)觀念開發(fā)這個(gè)應(yīng)用系統(tǒng)的目標(biāo)是為了代替人工進(jìn)行許多繁雜的勞動,節(jié)省許多資源,提高大學(xué)生理財(cái)?shù)墓ぷ餍?。它主要?shí)現(xiàn)的功能如下:功能一:驗(yàn)證用戶和密碼的正確性再登入,以及修改密碼和退出系統(tǒng);功能二:保存每次輸入的收支記錄,并提供查詢;功能三:對大學(xué)生收入/支出進(jìn)行管理,實(shí)現(xiàn)費(fèi)用的增加,修改,刪除;功能四:整個(gè)收支記錄按需求進(jìn)行分類查詢。2 系統(tǒng)技術(shù)開發(fā)2
20、.1 可行性分析可行性研究的目的是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。2.1.1 經(jīng)濟(jì)可行性計(jì)算機(jī)的價(jià)格已經(jīng)十分低廉,性能也有了長足的進(jìn)步。而本系統(tǒng)的開發(fā),為大學(xué)生理財(cái)?shù)墓ぷ餍蕩砹艘粋€(gè)質(zhì)的飛躍,為此主要表現(xiàn)有以下幾個(gè)方面:第一,本系統(tǒng)的運(yùn)行可以代替人工進(jìn)行許多繁雜的勞動;第二,本系統(tǒng)的運(yùn)行可以節(jié)省許多資源;第三,本系統(tǒng)的運(yùn)行可以大大的提高大學(xué)生理財(cái)?shù)墓ぷ餍?;等等。所以,本系統(tǒng)在經(jīng)濟(jì)上是可行的。2.1.2 技術(shù)可行性和運(yùn)行可行性本理財(cái)系統(tǒng)采用的開發(fā)平臺是Microsoft® Windows XP。與其它操作系統(tǒng)相比,Windows XP 更穩(wěn)定,有較好的網(wǎng)絡(luò)功能。
21、使用Eclipse作為系統(tǒng)開發(fā)的開發(fā)環(huán)境,它面向?qū)ο蟮木幊谭绞?OOP)使程序設(shè)計(jì)過程大大簡化,對數(shù)據(jù)庫的訪問更靈活。提供完善的指令控制語句、類與對象的支持及豐富的數(shù)據(jù)類型,全面綜合性的支持:事件驅(qū)動的應(yīng)用程序;功能強(qiáng)大的編程語言和函數(shù);面向?qū)ο蟮木幊蹋婚_放的數(shù)據(jù)庫連接系統(tǒng)。給開發(fā)高性能系統(tǒng)提供了保障,為開發(fā)滿足客戶要求的系統(tǒng)保證了代碼的模塊化要求,而代碼模塊化的提高,非常有利于以后對新系統(tǒng)的擴(kuò)展與修改。相對于其他開發(fā)環(huán)境,Java使開發(fā)人員的工作更快、成本更低、周期更短、質(zhì)量更高、功能更強(qiáng)。綜上所述,本系統(tǒng)的設(shè)計(jì)與開發(fā)在技術(shù)上和硬件設(shè)備上的條件都是滿足的,因此,它在技術(shù)上是可行的。本系統(tǒng)為一
22、個(gè)小型的理財(cái)系統(tǒng),所耗費(fèi)的資源非常的小,學(xué)校的電腦無論是硬件還是軟件都能夠滿足條件,因此,本系統(tǒng)在運(yùn)行上是可行的。2.2 面對對象的程序設(shè)計(jì)介紹傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)(Structured Programming)是一種強(qiáng)調(diào)功能抽象化和模塊化的編程方法,它把解決問題的過程看作是一個(gè)處理單位。這就是說結(jié)構(gòu)化程序設(shè)計(jì)中,模塊是對功能的抽象,而每一個(gè)模塊都是一個(gè)處理單位,并有輸入和輸出。而面向?qū)ο蟮某绦蛟O(shè)計(jì)(Object Oriented Programming, OOP)是一種以對象為基礎(chǔ),以事件來驅(qū)動對象執(zhí)行的程序設(shè)計(jì)技術(shù)。OOP 把計(jì)算過程看作為對象的分類過程加上其狀態(tài)變化的過程,也就是將一個(gè)應(yīng)
23、用程序逐步劃分成相互關(guān)聯(lián)的多個(gè)對象,并且建立起與這些對象相互關(guān)聯(lián)的事件過程,通過對象對所發(fā)生的事件產(chǎn)生響應(yīng),并執(zhí)行相應(yīng)的事件過程以引發(fā)對象狀態(tài)的改變,從而最終達(dá)到完成計(jì)算的目的。與結(jié)構(gòu)化程序設(shè)計(jì)不同,面向?qū)ο蟮某绦蛟O(shè)計(jì)綜合了功能的抽象和數(shù)據(jù)的抽象,它把解決問題的過程看作是一個(gè)對象分類演繹的過程。在OOP 中,對象(Object)是一個(gè)包括數(shù)據(jù)和方法(操作)的并被封裝起來的整體,它是對數(shù)據(jù)和功能的抽象和統(tǒng)一,而對象就包含了模塊的概念。面向?qū)ο笤O(shè)計(jì)是一種全新的程序設(shè)計(jì)方法,它從根本上改變了傳統(tǒng)的程序設(shè)計(jì)模式。其基本思想是:通過建立與具體實(shí)際應(yīng)用相對應(yīng)的對象,并通過這些對象的組合來創(chuàng)建具體的應(yīng)用程序
24、。這種設(shè)計(jì)方法給程序設(shè)計(jì)帶來了許多良好特性,一般說來有以下幾點(diǎn):(1) 模塊性:對象是一個(gè)功能和數(shù)據(jù)獨(dú)立的單元,它們之間只能通過對象認(rèn)可的方式來進(jìn)行通信,并可以較為自由地為其他對象所調(diào)用。(2) 封裝性:這一特性為信息的隱藏提供了具體的實(shí)現(xiàn)手段,用戶不必清楚對象內(nèi)部的細(xì)節(jié),只需了解其功能即可。(3) 繼承性:這一特性為代碼的共享提供了一種非常有效的方法,從而可以避免重復(fù)的代碼設(shè)計(jì),實(shí)現(xiàn)對象的可重用性。這一特性也是面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)最本質(zhì)的特征。(4) 可靠性:對象實(shí)現(xiàn)了抽象和封裝,從而使得其中出現(xiàn)的錯(cuò)誤限制在對象的內(nèi)部,因而不會向外部傳播,同時(shí)也易于檢查和維護(hù)。(5) 可擴(kuò)充性:面向?qū)ο笙到y(tǒng)
25、可以通過繼承機(jī)制不斷擴(kuò)充其對象的功能,而不會影響原系統(tǒng)的運(yùn)行。(6) 連續(xù)性:雖然面向?qū)ο蟮某绦蛟O(shè)計(jì)語言在編程模式上相差很大,但它并沒有摒棄傳統(tǒng)的做法,它不僅采用了傳統(tǒng)程序設(shè)計(jì)語言的語言元素,而且利用它們來模擬建立對象,從而使得一個(gè)熟悉傳統(tǒng)程序設(shè)計(jì)語言的編程者能夠很快掌握面向?qū)ο笤O(shè)計(jì)的規(guī)律。2.3 SQL語言介紹SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)是由Boyce和Chamberlin在1974年提出的,由于它功能豐富,使用靈活、語言簡潔易學(xué)等特點(diǎn),在計(jì)算機(jī)工業(yè)界和計(jì)算機(jī)用戶中倍受歡迎,快得到應(yīng)用和推廣。許多關(guān)系數(shù)據(jù)庫系統(tǒng)DB2、Oracle、SQL Se
26、rver 2000、Sybase等都實(shí)現(xiàn)了SQL語言。1986年10月,美國國家標(biāo)準(zhǔn)局(ANSI)的數(shù)據(jù)庫委員會批準(zhǔn)了SQL作為關(guān)系數(shù)據(jù)庫語言的美國標(biāo)準(zhǔn)。1987年6月,國際標(biāo)準(zhǔn)化組織(ISO)將其采納為國際標(biāo)準(zhǔn),也稱為“SQL86”。因此,SQL不僅是結(jié)構(gòu)化查詢語言,而且成為了國際標(biāo)準(zhǔn)語言。SQL數(shù)據(jù)庫的體系結(jié)構(gòu)基本上了三級模式結(jié)構(gòu)。如圖2.1。圖2.1 SQL數(shù)據(jù)庫的體系結(jié)構(gòu)SQL數(shù)據(jù)庫的體系結(jié)構(gòu)具有如下特點(diǎn):(1) 一個(gè)數(shù)據(jù)庫(Database)是表和約束的集合;(2) 一個(gè)表(Table)由行(Row)構(gòu)成,每行是列(Column)的集合;(3) 一張表既可以是基本表,也可以是一個(gè)視圖
27、;(4) 一個(gè)基本表可以跨一個(gè)或多個(gè)存儲文件,一個(gè)存儲文件也可存放一個(gè)或多個(gè)基本表,一個(gè)表可以帶若干索引,索引文件也存放在存儲文件中;(5) SQL用戶可以是應(yīng)用程序,也可以是終端用戶。SQL語句可嵌入在各種宿主語言中,宿主語言有VB、VC、VC#、VB.Net、Delphi、PowerBuildings等高級語言;SQL語言也能作為獨(dú)立用戶接口,供交互環(huán)境下的終端用戶使用。2.4 JDBC數(shù)據(jù)訪問技術(shù)JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類
28、和接口組成。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è)程序等等,程序員只需用JDBC API寫一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時(shí),將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就
29、可以讓它在任何平臺上運(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之間的橋接。JDBC實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口。 Java 具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出
30、語言。所需要的只是 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、 Macintosh 和UNIX 等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。 MIS 管理員們都喜歡 Java
31、和 JDBC 的結(jié)合,因?yàn)樗剐畔鞑プ兊萌菀缀徒?jīng)濟(jì)。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對于商務(wù)上的銷售信息服務(wù), Java 和JDBC 可為外部客戶提供獲取信息更新的更好方法。2.5 數(shù)據(jù)庫系統(tǒng)概述(1) 數(shù)據(jù)(Data)數(shù)據(jù)是數(shù)據(jù)庫中存儲的對象。數(shù)據(jù)在大多數(shù)人頭腦中的第一反映就是數(shù)字。其實(shí)數(shù)字只是最簡單的一種數(shù)據(jù),是數(shù)據(jù)的一種傳統(tǒng)和狹義的理解。廣義的理解,數(shù)據(jù)的種類很多,文字,圖形,
32、圖像,聲音等都是數(shù)據(jù),可以對數(shù)據(jù)做以下定義:描述事物的符號記錄稱為數(shù)據(jù)。(2) 數(shù)據(jù)庫(Database)數(shù)據(jù)庫,顧名思義,是存放數(shù)據(jù)的倉庫。只不過這個(gè)倉庫是在計(jì)算機(jī)存儲設(shè)備上,而且數(shù)據(jù)是按一定的格式存放的。數(shù)據(jù)庫是指長期存在計(jì)算機(jī)內(nèi)的,有組織的,可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織,描述和存儲,具有較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可以為各種用戶共享。(3) 數(shù)據(jù)庫管理系統(tǒng)(Database Management System,簡稱DBMS)數(shù)據(jù)庫管理系統(tǒng)是位于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。它主要有以下幾個(gè)方面的功能: 數(shù)據(jù)定義功能DBMS提供數(shù)據(jù)定義語言,用戶通過它可以
33、方便的對數(shù)據(jù)庫中的數(shù)據(jù)對象進(jìn)行定義。 數(shù)據(jù)操縱功能DBMS還提供數(shù)據(jù)操縱語言,用戶可以使用這語言操縱數(shù)據(jù)實(shí)現(xiàn)對數(shù)據(jù)庫的基本操作。如查詢,插入,刪除和修改等。 數(shù)據(jù)庫的運(yùn)行管理數(shù)據(jù)庫在建立,運(yùn)行和維護(hù)時(shí)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理,統(tǒng)一控制,以保證數(shù)據(jù)的安全性,完整性,多用戶對數(shù)據(jù)的并發(fā)使用乃發(fā)生故障后的系統(tǒng)恢復(fù)。 數(shù)據(jù)庫的建立和維護(hù)功能它包括數(shù)據(jù)庫初始的輸入,轉(zhuǎn)換功能,數(shù)據(jù)庫的轉(zhuǎn)存,恢復(fù)功能,數(shù)據(jù)庫的重組織功能和性能監(jiān)視。這些功能通常是由一些實(shí)用的程序完成的。2.6 系統(tǒng)開發(fā)理論介紹2.6.1 系統(tǒng)規(guī)劃階段(網(wǎng)貸系統(tǒng))系統(tǒng)規(guī)劃階段的任務(wù)是對各大學(xué)生理財(cái)?shù)沫h(huán)境、目標(biāo)及現(xiàn)行系統(tǒng)的狀況進(jìn)行初步調(diào)查,根據(jù)
34、大學(xué)生理財(cái)目標(biāo)和發(fā)展戰(zhàn)略,確定信息系統(tǒng)的發(fā)展戰(zhàn)略,對建設(shè)新系統(tǒng)的需求做出分析和預(yù)測,同時(shí)考慮建設(shè)新系統(tǒng)所受的各種約束,研究建設(shè)新系統(tǒng)的必要性和可能性。根據(jù)需要與可能,給出擬建系統(tǒng)的備選方案。對這些方案進(jìn)行可行性分析,寫出可行性分析報(bào)告。可行性分析報(bào)告審議通過后,將新系統(tǒng)建設(shè)方案及實(shí)施計(jì)劃編寫成系統(tǒng)設(shè)計(jì)任務(wù)書。2.6.2 系統(tǒng)分析階段系統(tǒng)分析階段的任務(wù)是根據(jù)系統(tǒng)設(shè)計(jì)任務(wù)書所確定的范圍,對現(xiàn)行系統(tǒng)進(jìn)行詳細(xì)調(diào)查,描述現(xiàn)行系統(tǒng)的業(yè)務(wù)流程,指出現(xiàn)行系統(tǒng)的局限性和不足之處,確定新系統(tǒng)的基本目標(biāo)和邏輯功能要求,即提出新系統(tǒng)的邏輯模型。這個(gè)階段又稱為邏輯設(shè)計(jì)階段,他是整個(gè)系統(tǒng)建設(shè)的關(guān)鍵階段,也是信息系統(tǒng)建設(shè)與
35、一般工程項(xiàng)目的重要區(qū)別所在。該階段的工作成果體現(xiàn)在系統(tǒng)說明書中,這是系統(tǒng)建設(shè)的必備文件。它既是給用戶看的,也是下一階段的工作依據(jù)。因此,系統(tǒng)說明書既要通俗,又要準(zhǔn)確。用戶通過說明書可以了解未來系統(tǒng)的功能,判斷是不是其所要求的系統(tǒng)。系統(tǒng)說明書一旦討論通過,就是系統(tǒng)設(shè)計(jì)的依據(jù),也是將來驗(yàn)收系統(tǒng)的依據(jù)。2.6.3 系統(tǒng)設(shè)計(jì)階段簡單地講,系統(tǒng)分析階段的任務(wù)是回答系統(tǒng)“做什么”的問題,而系統(tǒng)設(shè)計(jì)階段要回答的問題是“怎么做”。該階段的任務(wù)是根據(jù)系統(tǒng)說明書中規(guī)定的功能要求,考慮實(shí)際條件,具體設(shè)計(jì)實(shí)現(xiàn)邏輯模型的技術(shù)方案,也即設(shè)計(jì)新系統(tǒng)的物理模型。這個(gè)階段又稱為物理設(shè)計(jì)階段,可分為總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。這
36、個(gè)階段的技術(shù)文檔是“系統(tǒng)設(shè)計(jì)說明書”。2.6.4系統(tǒng)實(shí)施階段系統(tǒng)實(shí)施階段是將設(shè)計(jì)的系統(tǒng)付諸實(shí)施的階段。這一階段的任務(wù)包括計(jì)算機(jī)等設(shè)備的購置、安裝和調(diào)試,程序的編寫和調(diào)試,人員培訓(xùn),數(shù)據(jù)文件轉(zhuǎn)換,系統(tǒng)調(diào)試與轉(zhuǎn)換等。這個(gè)階段的特點(diǎn)是幾個(gè)互相聯(lián)系、互相制約的任務(wù)同時(shí)展開,必須精心安排、合理組織。系統(tǒng)實(shí)施是按實(shí)施計(jì)劃分階段完成的,每個(gè)階段應(yīng)寫出實(shí)施進(jìn)度報(bào)告。系統(tǒng)測試之后寫出系統(tǒng)測試分析報(bào)告。2.6.5 系統(tǒng)運(yùn)行和維護(hù)階段系統(tǒng)投入運(yùn)行后,需要經(jīng)常進(jìn)行維護(hù)和評價(jià),記錄系統(tǒng)運(yùn)行的情況,根據(jù)一定的規(guī)格對系統(tǒng)進(jìn)行必要的修改,評價(jià)系統(tǒng)的工作質(zhì)量和經(jīng)濟(jì)效益。2.7 開發(fā)環(huán)境硬件環(huán)境CPU:賽揚(yáng) 2.4GHz,內(nèi)存:
37、1GB,硬盤:120GB操作系統(tǒng)Microsoft® Windows XP Professional Service Pack 2軟件環(huán)境開發(fā)工具:Eclipse3 系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)為了真正達(dá)到我們方便顧客,做到簡潔方便易于使用,我們把我們的軟件界面設(shè)計(jì)為三大功能區(qū):主功能區(qū)、副功能區(qū)和操作區(qū)。圖3.1 p2p理財(cái)系統(tǒng)結(jié)構(gòu)功能設(shè)計(jì)圖3.2 用戶驗(yàn)證與操作流向設(shè)計(jì)圖3.3 理財(cái)系統(tǒng)工作原理設(shè)計(jì)3.2數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫是系統(tǒng)信息的有效中心,一個(gè)優(yōu)秀的數(shù)據(jù)庫設(shè)計(jì)應(yīng)考慮到系統(tǒng)工程的功能,系統(tǒng)的執(zhí)行速度,以及是否可能引起系統(tǒng)工作的異常等。數(shù)據(jù)庫的設(shè)計(jì)合理與否不僅直接影響到程序設(shè)計(jì)的質(zhì)
38、量,而且影響到系統(tǒng)的實(shí)現(xiàn)。3.2.1數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)(1)用戶表:說明本系統(tǒng)的用戶和密碼的存儲情況,有主鍵,自動增加,用戶不能為空;表3.1 用戶名表字段名稱數(shù)據(jù)類型主鍵是否為空UName文本否否PWord文本否是ID自動增加是否Active 整型否是(2) 收入表:說明本系統(tǒng)收入信息存儲數(shù)據(jù)的格式,其中把收入編號設(shè)為本記錄的主鍵,日期要為日期數(shù)據(jù)類型,這些基本的信息都不能為空,除了備注以外;表3.2 收入信息表字段名稱數(shù)據(jù)類型主鍵是否為空收入編號文本是否用戶名稱文本否否收入類型文本否否日期日期/時(shí)間否否金額數(shù)字否否備注備注否是(3) 支出表:說明本系統(tǒng)支出信息存儲數(shù)據(jù)的格式,其中把支出編號設(shè)為
39、本記錄的主鍵,日期要為日期數(shù)據(jù)類型,這些基本的信息都不能為空,除了備注以外;表3.3 收入信息表字段名稱數(shù)據(jù)類型主鍵是否為空支出編號文本是否用戶名稱文本否否支出類型1文本否否支出類型2文本否否日期日期/時(shí)間否否金額數(shù)字否否備注備注否是(4)收入類型表:說明本系統(tǒng)收入類型,作為收入表的“收入類型”字段的外碼參照。表3.4 收入類型表字段名稱數(shù)據(jù)類型主鍵是否為空收入類型文本否否(5)支出類型表:說明本系統(tǒng)支出類型,作為支出表的“支出類型”字段的外碼參照。表3.5 支出類型表字段名稱數(shù)據(jù)類型主鍵是否為空說明支出類型1文本否否支出大類支出類型2文本否否支出分類4 系統(tǒng)實(shí)現(xiàn)4.1 界面設(shè)計(jì)(1) 在進(jìn)入
40、系統(tǒng)之后,必須要有符合本系統(tǒng)的用戶以及每個(gè)用戶對應(yīng)的密碼。如果沒輸入用戶名,點(diǎn)擊確定將會提示請輸入用戶名。如果用戶名錯(cuò)誤和用戶的密碼不符合也將會有錯(cuò)誤提示。具體界面如圖4.1所示。4.1系統(tǒng)登陸界面(2) 用戶和密碼正確后,統(tǒng)的主界面將會顯示當(dāng)前用戶的賬戶信息。在這個(gè)界面里將實(shí)現(xiàn)本系統(tǒng)所有的功能,用戶一看便會使用,如圖4.2所示。4.2 主要代碼的編寫4.2.1 數(shù)據(jù)庫模塊代碼實(shí)現(xiàn)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 用戶登陸代碼實(shí)現(xiàn)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 系統(tǒng)測試和優(yōu)化5.1 測試目的系統(tǒng)測試的目的是:測試的定義是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程。所以測試的目的是測試系統(tǒng)中各個(gè)功能模塊的功能,及時(shí)發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤,及時(shí)發(fā)現(xiàn)系統(tǒng)中尚未發(fā)現(xiàn)的缺陷,及時(shí)地反饋給程序設(shè)計(jì)人員,以達(dá)到改正錯(cuò)誤、優(yōu)化程序代碼、提高程序執(zhí)行速度和提高軟件可靠性的目的。(網(wǎng)貸系統(tǒng))5.2 測試方法測試任何的系統(tǒng)都有兩種方法:如果已經(jīng)知道了系統(tǒng)應(yīng)該具有的功能,可以通過測試來檢驗(yàn)是否每個(gè)功能都能正常使用;如果知道產(chǎn)品內(nèi)部工作過程,可以通過測試來檢驗(yàn)系統(tǒng)內(nèi)部動作是否按照規(guī)格說明回溯的規(guī)定正常進(jìn)行。前一種方法稱為黑盒測試;后一種方法稱為白
48、盒測試。對于軟件測試而言,黑盒測試方法把程序看成一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。也就是說,黑盒測試是在程序接口進(jìn)行的測試,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)慕邮蛰斎霐?shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測試又稱為功能測試。與黑盒測試法相反,白盒測試法這種方法按照程序內(nèi)部的邏輯測試程序,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。白盒測試又稱為結(jié)構(gòu)測試。5.3 測試步驟除非是測試一個(gè)小程序,否則一開始就把整個(gè)系統(tǒng)作為一個(gè)單獨(dú)的實(shí)體來測試是不現(xiàn)實(shí)的。與開發(fā)過程類似,測試過程也必須分步驟進(jìn)行,后一個(gè)步驟在邏輯上是
49、前一個(gè)步驟的繼續(xù)。從過程的觀點(diǎn)考慮測試,在軟件工程環(huán)境中的測試過程,實(shí)際上是順序進(jìn)行的四個(gè)步驟的序列:(1) 單元測試單元測試階段著重測試每個(gè)單獨(dú)的模塊,以確保它作為一個(gè)單元來說的功能是正確的。單元測試大量使用白盒測試技術(shù),檢查模塊控制結(jié)構(gòu)中的特定路徑,以確保做到完全覆蓋并發(fā)現(xiàn)最大數(shù)量的錯(cuò)誤。(2) 集成測試集成測試是測試和組裝軟件的系統(tǒng)化技術(shù),在把模塊按照設(shè)計(jì)要求組裝起來的同時(shí)進(jìn)行測試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。在集成測試過程中最常使用的是黑盒測試用例設(shè)計(jì)技術(shù),當(dāng)然,為了保證覆蓋主要的控制路徑,也可能使用一定數(shù)量的白盒測試。(3) 高級測試在軟件集成完成之后,還要進(jìn)行一系列高級測試。必
50、須測試在需求分析階段確定下來的標(biāo)準(zhǔn),確認(rèn)測試是對軟件滿足所有功能的、行為的和性能的需求的最終保證。5.4 系統(tǒng)優(yōu)化(網(wǎng)貸系統(tǒng))系統(tǒng)優(yōu)化很大一部分是在數(shù)據(jù)庫系統(tǒng)的優(yōu)化,查詢優(yōu)化在數(shù)據(jù)庫中有著非常重要的地位。所以系統(tǒng)要優(yōu)化大部分的優(yōu)化是在查詢數(shù)據(jù)庫方面來做的。查詢優(yōu)化的優(yōu)點(diǎn)不僅在于用戶不必考慮如何最好地表達(dá)查詢以獲得較好的效率,而且在于系統(tǒng)可以比用戶程序的優(yōu)化做的更好,因?yàn)椋?(1) 優(yōu)化器可以從數(shù)據(jù)字典中獲取許多統(tǒng)計(jì)信息; (2) 如果數(shù)據(jù)庫的物理統(tǒng)計(jì)信息改變了,系統(tǒng)可以自動的對查詢進(jìn)行重新優(yōu)化以選擇適當(dāng)?shù)膱?zhí)行計(jì)劃; (3) 優(yōu)化器可以考慮數(shù)百種不同的優(yōu)化技術(shù),而程序員一般只能考慮有限的幾種可能
51、性; (4) 優(yōu)化器中包括了很多復(fù)雜的優(yōu)化技術(shù),這些技術(shù)要很好的技術(shù)員才能掌握,系統(tǒng)的自動優(yōu)化解決了這個(gè)問題。6 討 論6.1 源代碼的控制專業(yè)性軟件開發(fā)常常是由多個(gè)程序員進(jìn)行的。隨著越來越多的軟件開發(fā)人員參與一個(gè)項(xiàng)目的開發(fā),管理所有開發(fā)人員所做的工作就變得更加困難。小組開發(fā)的軟件項(xiàng)目很快會變成多線程怪物,隨時(shí)都可能中止運(yùn)行。下面是小組軟件開發(fā)必須解決:多個(gè)開發(fā)人員不在同一時(shí)間修改同一個(gè)代碼和對象;防止軟件開發(fā)人員改寫其他人的工作;跟蹤軟件的版本;將各個(gè)項(xiàng)目文件集中起來等問題。當(dāng)兩個(gè)開發(fā)人員同時(shí)修改同一個(gè)代碼時(shí),有個(gè)人的工作就會丟失。一般來說,完成修改的第一個(gè)程序員將會丟失他所做的修改工作,
52、因?yàn)榈诙€(gè)程序員改寫了第一個(gè)程序員所做的修改。要想確保項(xiàng)目開發(fā)過程中開發(fā)人員不會互相改寫對方的工作,這是非常困難的。另外,多個(gè)程序員還必須注意不要為了解決同一個(gè)問題而浪費(fèi)時(shí)間。因此,使用CVS不失為一個(gè)很好的方法,因?yàn)镃VS可以 管理各種類型的源文件,包括文本文件、圖形文件、資源文件和聲音文件;控制誰有權(quán)訪問源代碼文件;了解誰正在對源代碼文件進(jìn)行工作;確保每次只有一個(gè)人能夠修改源文件;返回源文件的以前版本,或者使當(dāng)前的修改與較早的修改相合并;將當(dāng)前版本以及修改保留在一個(gè)集中位置。6.2 變量命名的約定更好的命名約定代替了以前單字符前綴的命名標(biāo)記。這種命名約定稱為匈牙利標(biāo)記法,它使用3字符第二部
53、分 編程中使用的約定前綴來表示數(shù)據(jù)類型和控件類型,這種命名約定之所以稱為匈牙利標(biāo)記法,部分原因是它的發(fā)明人查爾斯·西蒙尼祖籍是匈牙利,部分原因是這些前綴常常使變量名看上去像個(gè)外文字。隨著前綴所表示的信息的增加,前綴的長度也會變長,比如作用域或變量是個(gè)數(shù)組時(shí),就會出現(xiàn)這種情況。雖然標(biāo)準(zhǔn)前綴通常為 3個(gè)字符,隨著修飾符的增加,使用較長前綴的命名約定也稱為匈牙利標(biāo)記法,匈牙利標(biāo)記法是個(gè)總的概念,而不是特定的實(shí)現(xiàn)方法。在匈牙利標(biāo)記法中,一個(gè)獨(dú)一無二的3字符前綴被賦予每個(gè)數(shù)據(jù)類型和每個(gè)控件類型。3個(gè)字符可以實(shí)現(xiàn)充分的多變性,并使前綴合乎邏輯和直觀。6.3 JAVA對字符串操作總結(jié)一、String類String 類不是原始基本數(shù)據(jù)類型,在Java中,字符串是一個(gè)對象。String 類代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作為此類的實(shí)例來實(shí)現(xiàn)。 字符串是常量;它們的值在創(chuàng)建之后不能改變。字符串緩沖區(qū)支持可變的字符串。因?yàn)?String 對象是不可變的,所以可以共享它們。例如: String str = "abc" 等效于: char data = 'a', 'b', 'c' String str
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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è)備質(zhì)量保證與免責(zé)條款協(xié)議
- 旅游行業(yè)線上營銷推廣服務(wù)協(xié)議
- 廣告投放合作框架協(xié)議
- 物聯(lián)網(wǎng)智能家居項(xiàng)目合作協(xié)議書
- 鐵鏈運(yùn)輸合同
- 2025年度土地租賃與物業(yè)管理合同
- 2025年度家具換貨及售后服務(wù)協(xié)議書范本2篇
- 2025年度燒烤餐廳承包經(jīng)營與特色菜品研發(fā)合同
- 2025年度企業(yè)員工勞動合同續(xù)簽與待遇調(diào)整協(xié)議
- 2025年度民辦學(xué)校教師勞動合同模板
- 2024-2025年中國ETC行業(yè)發(fā)展趨勢預(yù)測及投資戰(zhàn)略咨詢報(bào)告
- 年度得到 · 沈祖蕓全球教育報(bào)告(2024-2025)
- 飛行員心理素質(zhì)訓(xùn)練考核試卷
- 2025河北機(jī)場管理集團(tuán)限公司招聘39人高頻重點(diǎn)提升(共500題)附帶答案詳解
- GB/T 17145-2024廢礦物油回收與再生利用導(dǎo)則
- 運(yùn)輸公司安全隱患大排查整治行動方案
- 道具設(shè)計(jì)安裝合同模板
- 建筑設(shè)計(jì)公司員工薪酬方案
- 2024至2030年中國白內(nèi)障手術(shù)耗材行業(yè)投資前景及策略咨詢研究報(bào)告
- 艾灸燙傷應(yīng)急預(yù)案
- 體育單杠課件教學(xué)課件
評論
0/150
提交評論