版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于JAVA在線音樂系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 1緒論</b></p><p> 1.1 課題的目的和意義</p><p> 隨著互聯(lián)網(wǎng)和寬帶上網(wǎng)的普及,Integer音樂網(wǎng)站在中國異軍突起,并日益滲透到人們的日常生活中。音樂網(wǎng)站是運(yùn)用現(xiàn)代通信技術(shù)、計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)進(jìn)行的一種社會(huì)形態(tài),其目的是通過互聯(lián)
2、網(wǎng)、提高社會(huì)生產(chǎn)效率、優(yōu)化社會(huì)資源配置,從而實(shí)現(xiàn)社會(huì)財(cái)富的最大化利用。本課題所研究的Integer音樂網(wǎng)站主要是為個(gè)人提供搜索,欣賞和下載的一個(gè)平臺,從而給個(gè)人帶來方便。</p><p> 課題目標(biāo)是設(shè)計(jì)并實(shí)現(xiàn)一個(gè)B/S體系結(jié)構(gòu)的Integer音樂網(wǎng)站。結(jié)合實(shí)踐,理解網(wǎng)頁開發(fā)技術(shù)和數(shù)據(jù)庫的基本知識,學(xué)習(xí)相關(guān)開發(fā)工具和應(yīng)用軟件,熟悉網(wǎng)站建設(shè)的過程,熟練掌握網(wǎng)絡(luò)數(shù)據(jù)庫編程方法。</p><p&g
3、t; 1.2 國內(nèi)現(xiàn)狀分析</p><p> 現(xiàn)在我國的信息管理水平還比較落后,這樣的機(jī)制已經(jīng)不能適應(yīng)時(shí)代的發(fā)展,因?yàn)樗速M(fèi)了許多人力和物力,在信息時(shí)代傳統(tǒng)的管理方法必然被計(jì)算機(jī)為基礎(chǔ)的信息管理所取代。軟件作為一項(xiàng)有力的工具,只能當(dāng)此種工具,與我們的實(shí)踐相結(jié)合起來的時(shí)候,才具有重大的社會(huì)價(jià)值及使用價(jià)值。因此根據(jù)目前實(shí)際的情況開發(fā)這樣一套管理系統(tǒng)是十分必要的。</p><p> 隨著科
4、學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)技術(shù)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn)。例如:可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高工作的效率,也是信息正規(guī)化管理與世界接軌的重要條件。</p><p> 本系統(tǒng)用JSP語言來編寫社本系統(tǒng),數(shù)據(jù)庫用SQLSERVER 20
5、00來連接系統(tǒng)。本論文主要涉及軟件,數(shù)據(jù)庫與網(wǎng)絡(luò)技術(shù)等。涵蓋知識面廣,可有效地提高學(xué)生綜合運(yùn)用所學(xué)知識分析解決問題的能力,增強(qiáng)學(xué)生對事物的理解與掌握能力,培養(yǎng)學(xué)生掌握科學(xué)的研究方法,正確的設(shè)計(jì)思想,獨(dú)立思考,勇于進(jìn)取,探索創(chuàng)新,為今后進(jìn)一步學(xué)習(xí)與工作奠定了良好的基礎(chǔ)。</p><p> 2可行性研究與需求分析</p><p><b> 2.1 可行性研究</b>&
6、lt;/p><p> 該階段通過對系統(tǒng)目標(biāo)的初步調(diào)研和分析,提出可行性方案并進(jìn)行論證。我們在這里主要從技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性等方面進(jìn)行分析。</p><p><b> 1經(jīng)濟(jì)可行性</b></p><p> 開發(fā)該系統(tǒng)所需的相關(guān)資料可以通過已存在的相關(guān)系統(tǒng)進(jìn)行調(diào)查采集,所需的其他應(yīng)用軟件、硬件系統(tǒng)也易于獲得.因此,開發(fā)成本較低。而
7、引進(jìn)使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點(diǎn),可以節(jié)省不少人力、物力及財(cái)力。所以,從經(jīng)濟(jì)的角度來看,該系統(tǒng)可行。</p><p><b> 2 技術(shù)可行性</b></p><p> 技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。本系統(tǒng)用的是JSP開發(fā)語言,調(diào)試相對簡單,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足
8、開發(fā)的需求,因此在技術(shù)上是絕對可行的。軟件方面:由于目前單機(jī)模式相對發(fā)展成熟,故軟件的開發(fā)平臺成熟可行,它們速度快、容量大、可靠性能高、價(jià)格低,完全能滿足系統(tǒng)的需求。</p><p> 本系統(tǒng)的開發(fā),是典型的Mis開發(fā)。采用JSP編程語言,已無技術(shù)上的問題。</p><p><b> 3運(yùn)行可行性</b></p><p> 運(yùn)行可行性是對
9、組織結(jié)構(gòu)的影響,現(xiàn)有人員和機(jī)構(gòu)和環(huán)境對系統(tǒng)的適應(yīng)性及人員培訓(xùn)補(bǔ)充計(jì)劃的可行性。當(dāng)前信息化技術(shù)已經(jīng)相當(dāng)普及,各類操作人員水平都有相當(dāng)?shù)母叨?,所以在運(yùn)行上是可行性的。</p><p><b> 4時(shí)間可行性</b></p><p> 從時(shí)間上看,在兩個(gè)月的時(shí)間里學(xué)習(xí)相關(guān)知識,并開發(fā)系統(tǒng),時(shí)間上是有點(diǎn)緊,但是不是不可能實(shí)現(xiàn),通過兩個(gè)多月的努力功能基本實(shí)現(xiàn)。</p&
10、gt;<p><b> 5法律可行性</b></p><p> ?、?所有技術(shù)資料都為合法。</p><p> ?、?開發(fā)過程中不存在知識產(chǎn)權(quán)問題。</p><p> ?、?未抄襲任何系統(tǒng),不存在侵犯版權(quán)問題。</p><p> ④ 開發(fā)過程中未涉及任何法律責(zé)任。</p><p>
11、; 綜上所述,本系統(tǒng)的開發(fā)從技術(shù)上、從經(jīng)濟(jì)上、從法律上等都是完全可靠的。</p><p><b> 2.2 需求分析</b></p><p> 需求分析是軟件設(shè)計(jì)的一個(gè)重要的環(huán)節(jié)。本階段對系統(tǒng)管理系統(tǒng)的應(yīng)用情況作全面調(diào)查,以確定系統(tǒng)目標(biāo)。確定用戶的需求。用戶對系統(tǒng)的需求我們從以下幾方面進(jìn)行分析。</p><p><b> 1系
12、統(tǒng)需求</b></p><p> 用JSP開發(fā)系統(tǒng)管理系統(tǒng)基于B/S模式,系統(tǒng)軟件和數(shù)據(jù)集中存放于服務(wù)器中,軟件的安裝與升級在服務(wù)器上進(jìn)行。所有的工作基于瀏覽器,安裝、使用、維護(hù)、升級十分簡單。</p><p><b> 2 性能需求</b></p><p> 為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運(yùn)行。系統(tǒng)處理的準(zhǔn)確
13、性和及時(shí)性是系統(tǒng)的必要性能。由于本系統(tǒng)的添加功能對于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來源,其準(zhǔn)確性和及時(shí)性很大程度上決定了系統(tǒng)的成敗。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性和及時(shí)性。</p><p><b> 3應(yīng)用需求分析</b></p><p> 表2-1系統(tǒng)需求硬件分析</p><p> 系統(tǒng)的性能
14、要求通常指系統(tǒng)需要的存儲容量以及后援存儲,重新啟動(dòng)和安全性,運(yùn)行效率等方面的考慮。 </p><p> 硬件系統(tǒng)環(huán)境:C600、1G MB(RAM)、500MB(HD)。系統(tǒng)運(yùn)行時(shí)對數(shù)據(jù)的保密性要求不高對一般的數(shù)據(jù)不要求進(jìn)行加密。此外,對其它軟件幾乎沒有依賴性,程序健壯性較好</p><p><b> 4 運(yùn)行需求分析</b></p><p&g
15、t; 硬件條件:酷睿2 CPU、1G RAM、10 G硬盤以上的PC機(jī)。</p><p> 軟件條件:Windows XP </p><p><b> 5 其他需求分析</b></p><p> 本系統(tǒng)有較好的可維護(hù)性、可靠性、可理解性、效率。易于用戶理解和操作??删S護(hù)性包括了可讀性、可修改性、可測試性、等含義。可靠性通常包括正確性和
16、健壯性。開發(fā)過程中,在各種矛盾的目標(biāo)之間作權(quán)衡,并在一定的限制的條件下(經(jīng)費(fèi)、時(shí)間、可用的軟、硬件資源等),使上述各方面最大限度的得到滿足。</p><p><b> 3實(shí)現(xiàn)技術(shù)</b></p><p> 3.1 JSP技術(shù)簡介</p><p> JSP(Java Server Page服務(wù)器網(wǎng)頁)是從1998年開始出現(xiàn)的新技術(shù)。由Sun
17、公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),是基于JavaServlet以及整個(gè)Java體系的web開發(fā)技術(shù)。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入腳本片段和JSP標(biāo)記(Tag),構(gòu)成JSP網(wǎng)頁(*.jsp)。JSP技術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的web頁面提供了簡便的方法。JSP作為Java家族的一員,承襲了Java的特點(diǎn),即跨平臺的特性,也即一次編譯,到處運(yùn)行。</p><p>
18、在國外,己經(jīng)大量使用JSP作為網(wǎng)絡(luò)應(yīng)用程序的開發(fā)工具,而在國內(nèi),盡管JSP還不是主流開發(fā)技術(shù),但是由于JSP的強(qiáng)大優(yōu)勢,許多網(wǎng)站都已經(jīng)準(zhǔn)備轉(zhuǎn)向JSP,利用JSP來開發(fā)動(dòng)態(tài)網(wǎng)站。 </p><p> 3.2 JSP工作原理</p><p> JSP是面向服務(wù)器的,因此支持任何瀏覽器。當(dāng)Web服務(wù)器和JSP引擎遇到訪問JSP網(wǎng)頁的請求時(shí),JSP引擎將請求對象發(fā)送給服務(wù)器端的相關(guān)組件,比如J
19、avaBean組件、Servlet或EJB等,然后由服務(wù)器端組件處理這些請示,可能需要從數(shù)據(jù)庫或數(shù)據(jù)存儲中檢索信息,然后服務(wù)器端組件再將響應(yīng)對象返回JSP引擎。JSP引擎將響應(yīng)對象傳遞給JSP頁面,根據(jù)JSP頁面的HTML格式完成數(shù)據(jù)編排,最后Web服務(wù)器和JSP引擎將格式化后的JSP頁面以HTML格式返回客戶瀏覽器。這就是當(dāng)前網(wǎng)站構(gòu)建中廣泛采用的瀏覽器——Web服務(wù)器——后臺數(shù)據(jù)庫的三層架構(gòu)模式。因?yàn)镴SP所有程序操作都在服務(wù)器端執(zhí)行
20、,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果。</p><p> 3.3 JSP體系結(jié)構(gòu)</p><p> JSP網(wǎng)站開發(fā)標(biāo)準(zhǔn)給出了兩種使用JSP的技術(shù),可以歸納為模式一、模式二。</p><p> 模式一:JSP+JavaBeans技術(shù) 在這種模式中,JSP頁面獨(dú)自響應(yīng)請求并將處理結(jié)果返回給客戶。Bean處理所有數(shù)據(jù)訪問,JSP實(shí)現(xiàn)頁面的表現(xiàn),以實(shí)現(xiàn)內(nèi)容生成與顯示相
21、分離。當(dāng)處理復(fù)雜的大型應(yīng)用時(shí),頁面被嵌入大量的腳本或Java代碼段,當(dāng)需要處理的商業(yè)邏輯復(fù)雜時(shí),這種情況會(huì)變得非常糟糕,大量的內(nèi)嵌代碼使得頁面程序變得復(fù)雜,對于前端界面設(shè)計(jì)人員,這是不可思議的事情。所</p><p> 以模式一可用于小型應(yīng)用,不能夠滿足大型應(yīng)用的需要。</p><p> 模式二:JSP+Servlet+JavaBeans技術(shù) Servlet技術(shù)是一種采用Java技術(shù)來
22、實(shí)現(xiàn)CGI功能的一種技術(shù),Servlet技術(shù)非常適于服務(wù)器端的處理和編程,并且Servlet會(huì)長期駐留在內(nèi)存。</p><p> 從開發(fā)的觀點(diǎn)看,模式二具有更清晰的頁面表現(xiàn),清楚的開發(fā)者角色劃分,在大規(guī)模項(xiàng)目開發(fā)中,模式二更被采用,模式二也更符合當(dāng)前流行的MVC結(jié)構(gòu)(Model/view/controller),其中Servlet對應(yīng)controller,處于控制者的位置,處理HTTP請求,負(fù)責(zé)生成JSP中使用
23、的Beans組件或?qū)ο?,并判斷?yīng)將請求傳遞給哪個(gè)JSP等,JSP對應(yīng)view,負(fù)責(zé)生成最終的動(dòng)態(tài)網(wǎng)頁并返回給瀏覽器。而JavaBeans對應(yīng)的是Model,實(shí)現(xiàn)各個(gè)具體的應(yīng)用邏輯與功能。</p><p> 3.4 JSP的特點(diǎn)</p><p> 簡化的頁面生成技術(shù)。</p><p> JSP頁面用標(biāo)準(zhǔn)的HTML或XML命令來處理頁面的格式化和布局設(shè)計(jì),而用類似
24、HTML、XML的標(biāo)記和Java語言編寫的腳本程序生成頁面內(nèi)容。這使得頁面形式與頁面內(nèi)容互相獨(dú)立,非常有利于大型項(xiàng)目的分工合作。</p><p> 與Java平臺有機(jī)集成。</p><p> JSP技術(shù)是Java 2平臺的重要組成部分,JSP使用Java語言作為它的腳本語言。在JSP頁面中可以使用幾乎所有的Java組件和Java API,這就能充分發(fā)揮出Java語言的強(qiáng)大功能。使用JS
25、P技術(shù)可以創(chuàng)建具有高度可伸縮性和可靠性的Web應(yīng)用程序。</p><p> 硬件平臺和服務(wù)器無關(guān)性。</p><p> JSP作為Java家族的一員,秉承了Java技術(shù)的“一次編寫,隨處可用(Write Once,Rum Anywhere)”的特性,可以運(yùn)行于大多數(shù)流行的操作系統(tǒng)平臺及Web服務(wù)器,這種與服務(wù)器硬件和操作系統(tǒng)平臺的無關(guān)性是JSP相對于其它動(dòng)態(tài)網(wǎng)頁技術(shù)最大的一個(gè)優(yōu)點(diǎn)。&l
26、t;/p><p><b> 功能可擴(kuò)展性。</b></p><p> 如同Microsoft的JSP技術(shù)可以通過ActiveX/COM組件來擴(kuò)展功能一樣,JSP可以通過JavaBean和EJB(Enterprise JavaBean)以及自定義的標(biāo)記來擴(kuò)展功能。</p><p> JSP可以通過JDBC,與諸如Oracle、SQL Serv
27、er這樣的大型關(guān)系數(shù)據(jù)庫進(jìn)</p><p><b> 行連接。</b></p><p> JSP提供了一些隱含對象。這些隱含對象在JSP頁面中可以直接引用,而不必首先聲明。利用JSP提供的這些隱含對象,可以使腳本功能更加強(qiáng)大,并且編程更加容易、方便。例如,利用request對象,可以很容易地接收用戶在HTML表單中提交的信息。</p><p&g
28、t; 3.5 SQLSERVER 2000 數(shù)據(jù)庫</p><p> SQL Server是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個(gè)OS/2版本。 SQL Server近年來不斷更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQ
29、L Server 7.0版本和用戶見面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。 SQL Server 特點(diǎn):</p><p> 1.真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。 </p><p> 2.圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。 </p><p> 3.豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的
30、選擇余地。 </p><p> 4.SQL Server與Windows NT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft BackOffice產(chǎn)品集成。 </p><p> 5.具有很好的伸縮性,可跨越從運(yùn)行Windows 95/98的膝上型電腦到運(yùn)行Windows 2000的大型多處理器等多種平臺使用。 &
31、lt;/p><p> 6.對Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。 </p><p> 7.SQL Server提供數(shù)據(jù)倉庫功能,這個(gè)功能只在Oracle和其他更昂貴的DBMS中才有。</p><p> 3.6系統(tǒng)數(shù)據(jù)庫連接</p><p> JDBC技術(shù)是Java DataBase Connectivi
32、ty的縮寫,它是SUN公司提供的一種支持基本SQL功能的通用的應(yīng)用程序接口(Application Programming Interface)。它由一組用Java語言編寫的類和接口組成。通過這些類和接口,程序開發(fā)人員可以在Java語言中方便地建立與數(shù)據(jù)庫的鏈接,通過執(zhí)行相應(yīng)SQL語句,完成對不同數(shù)據(jù)庫的訪問。因此,開發(fā)人員使用JDBC API可以不必編寫一個(gè)應(yīng)用程</p><p> 序來訪問Sybase數(shù)據(jù)庫
33、,又另外編寫一個(gè)應(yīng)用程序去訪問Oracle數(shù)據(jù)庫,再寫一個(gè)應(yīng)用程序訪問Microsoft的SQL Server。不但如此,使用Java語言編寫的應(yīng)用程序可以在任何支持Java的平臺上運(yùn)行,不必在不同的平臺上開發(fā)不同的應(yīng)用程序。</p><p> 簡單地說,JDBC能完成下列三件事:</p><p> 同一個(gè)數(shù)據(jù)庫建立連接;</p><p><b>
34、向數(shù)據(jù)庫建立連接;</b></p><p> 處理數(shù)據(jù)庫返回的結(jié)果。</p><p> JDBC是一種通用低層的應(yīng)用程序編程接口,它在不同的數(shù)據(jù)庫功能模塊的層次上提供一個(gè)統(tǒng)一的用戶界面。說JDBC是一處低級的API,是指它直接調(diào)用SQL命令,它比其他的一些數(shù)據(jù)庫連接API要容易使用些,但它有同樣可以作為更高級的,用戶辦面更友好的API或開發(fā)工具基礎(chǔ)。</p>
35、<p> 很多可視化的Java開發(fā)工具,如Visual Age For Java、Visual Café、J++等都提供了基于JDBC的更面向用戶的類和包,直接將關(guān)系數(shù)據(jù)庫的表或視圖映射為Java類,程序員通過可視化工具直接對Java對象進(jìn)行操作,而真正需要的SQL調(diào)用則根據(jù)程序員發(fā)出的對對象的各種屬性、方法的操作來自動(dòng)產(chǎn)生。另一種使用JDBC API 的方式為,用戶程序可以提供一個(gè)界面(如菜單等)讓用戶選擇對數(shù)據(jù)
36、庫進(jìn)行的操作,選中一個(gè)任務(wù)后,提示用戶輸入一些必要的信息,然后根據(jù)用戶的輸入產(chǎn)生相應(yīng)的SQL命令以及Java程序。通過這處方式,用戶可以完成對數(shù)據(jù)庫的操作,即使他并不了解SQL語法以及JDBC編程。</p><p> 數(shù)據(jù)庫訪問的三層結(jié)構(gòu)如圖3.1所示,瀏覽器端程序要訪問數(shù)據(jù)庫,首先通過中間件,然后由中間件對數(shù)據(jù)庫操作權(quán)限進(jìn)行認(rèn)證,認(rèn)證通過才能對數(shù)據(jù)庫進(jìn)行操作。</p><p> 圖3
37、.1 使用中間件的數(shù)據(jù)庫訪問三層結(jié)構(gòu)</p><p> 用戶對數(shù)據(jù)庫的存取權(quán)限認(rèn)證是中間件中完成,對數(shù)據(jù)庫的查詢、插入、更新和刪除操作等都封裝在中間件中,該中間件位于服務(wù)器端,中間件對數(shù)據(jù)庫進(jìn)</p><p> 行操作后,再將處理結(jié)果通過Web服務(wù)器返回到瀏覽器端用戶。這樣,在用戶端輸入的用戶名和密碼,可以通過加密算法進(jìn)行加密后在網(wǎng)絡(luò)上傳輸,在中間件中進(jìn)行解密認(rèn)證,然后再進(jìn)行數(shù)據(jù)庫的存
38、取操作,數(shù)據(jù)庫存取權(quán)限的用戶名和密碼出現(xiàn)在位于服務(wù)器端的中間件中,這樣就更加安全。本系統(tǒng)采用的正是這樣的三層結(jié)構(gòu)的數(shù)據(jù)庫訪問模式。</p><p> 在三層模型中,命令將被發(fā)送到服務(wù)的”中間層”,而”中間層”將SQL語句發(fā)送到數(shù)據(jù)庫。數(shù)據(jù)庫處理SQL語句并將結(jié)果返回”中間層”,然后”中間層”將它們返回用戶。其模型如圖5.2所示。</p><p> 圖3.2 JDBC的三層模型</
39、p><p> 因?yàn)椤敝虚g層”可以進(jìn)行對訪問的控制并協(xié)同數(shù)據(jù)庫的更新,并且可以使用一個(gè)易用的高層API,這個(gè)API可以由“中間層”進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成低層的調(diào)用。許多種情況下,三層模型可以提供更好的性能,本系統(tǒng)中所采用的就是此種模型。</p><p> JDBC是JAVA應(yīng)用程序與數(shù)據(jù)庫的溝通橋梁。它提供了三項(xiàng)服務(wù)功能:一、與數(shù)據(jù)庫建立連接。二、將SQL語句傳遞給數(shù)據(jù)庫。三、從數(shù)據(jù)庫取得SQL語
40、句的執(zhí)行結(jié)果。當(dāng)JDBC要與數(shù)據(jù)庫建立連接前,首先,它必須先取得連接此數(shù)據(jù)庫的JDBC驅(qū)動(dòng)程序,Class.forName()即是在執(zhí)行此項(xiàng)工作。建立數(shù)據(jù)庫連接的第一步驟就是將JDBC驅(qū)動(dòng)程序的類載入至JVM(Java VirtualL Machine)中,本系統(tǒng)中利用java.lang.Class類內(nèi)的forName()靜態(tài)函數(shù)依據(jù)指定的類名稱,將JDBC驅(qū)動(dòng)程序載入進(jìn)來。完成載入驅(qū)動(dòng)程序的步驟后,必須使用java.sal.Drive
41、rManager類所提供的getConnection()靜態(tài)函數(shù),取得與數(shù)據(jù)庫間的連接對象。此連接對象的類類型為java.sal.Connection,必須通過它才能將SQL指令傳遞給數(shù)據(jù)庫,而執(zhí)行結(jié)果也需要通過連接對象來取得。當(dāng)取得連接對象后,還必須取得Statement對象才能對數(shù)據(jù)庫執(zhí)行SQL指令。Statement主要實(shí)現(xiàn)兩個(gè)功能:執(zhí)行SQL語句以及取得執(zhí)行結(jié)果。在java.sql.Statement的s</p>
42、<p> 數(shù)據(jù)庫連接如圖3.3所示:</p><p> 圖3.3 數(shù)據(jù)庫的連接處理</p><p> 數(shù)據(jù)庫的連接處理具體實(shí)現(xiàn)如下:</p><p> //建立JDBC——ODBC橋</p><p> sun.jdbc.odbc.JdbcOdbcDriver;</p><p> //橋建立不成功時(shí)
43、的錯(cuò)誤處理</p><p> catch(ClassNotFoundException event){}</p><p> //建立與數(shù)據(jù)庫的連接,并發(fā)送SQL查詢語句,將結(jié)果保存到rs對象中</p><p> Con=建立JDBC——ODBC橋</p><p> Sql=SQL查詢語句</p><p><
44、;b> 執(zhí)行查詢</b></p><p><b> Rs=返回結(jié)果</b></p><p><b> //SQL出錯(cuò)處理</b></p><p> catch(SQLException e1){}</p><p> 有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易
45、的事。換言之,有了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)用程序,只須寫一遍程序就可以讓它在任何平臺上運(yùn)行,這也是Java語言“編寫一次,處處運(yùn)行”的優(yōu)勢。</p&
46、gt;<p> 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)格類型定義且
47、高性能實(shí)現(xiàn)的接口。 </p><p> Java 具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是 Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對話的方法。而 JDBC 正是作為此種用途的機(jī)制。 </p><p> JDBC 擴(kuò)展了 Java 的功能。例如,用 Java 和 JDBC API 可以發(fā)布含有 ap
48、plet 的網(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ù)庫的要求也在日益增加。 </p><p> MIS 管理員們都喜歡 Java 和
49、 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 可為外部客戶提供獲取信息更新的更好方法。</p><p> 簡單地說
50、,JDBC 可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送 SQL 語句并處理</p><p> 結(jié)果。下列代碼段給出了以上三步的基本示例: </p><p> Connection con = DriverManager.getConnection("jdbc:odbc:wombat","login", </p><p> &qu
51、ot;password"); </p><p> Statement stmt = con.createStatement(); </p><p> ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1"); </p><p> while (rs.next())
52、 { </p><p> int x = rs.getInt("a"); </p><p> String s = rs.getString("b"); </p><p> float f = rs.getFloat("c"); </p><p><b> } &l
53、t;/b></p><p> 上述代碼對基于JDBC的數(shù)據(jù)庫訪問做了經(jīng)典的總結(jié)。</p><p> 3.7 B/S模式與C/S模式的比較分析</p><p> C/S模式主要由客戶應(yīng)用程序(Client)、服務(wù)器管理程序(Server)和中間件(middleware)三個(gè)部件組成。客戶應(yīng)用程序是系統(tǒng)中用戶與數(shù)據(jù)進(jìn)行交互的部件。服務(wù)器程序負(fù)責(zé)有效地管理系統(tǒng)
54、資源,如管理一個(gè)信息數(shù)據(jù)庫,其主要工作是當(dāng)多個(gè)客戶并發(fā)地請求服務(wù)器上的相同資源時(shí),對這些資源進(jìn)行最優(yōu)化管理。中間件負(fù)責(zé)聯(lián)結(jié)客戶應(yīng)用程序與服務(wù)器管理程序,協(xié)同完成一個(gè)作業(yè),以滿足用戶查詢管理數(shù)據(jù)的要求。 </p><p> B/S模式是一種以Web技術(shù)為基礎(chǔ)的新型的MIS系統(tǒng)平臺模式。把傳統(tǒng)C/S模式中的服務(wù)器部分分解為一個(gè)數(shù)據(jù)服務(wù)器與一個(gè)或多個(gè)應(yīng)用服務(wù)器(Web服務(wù)器),從而構(gòu)成一個(gè)三層結(jié)構(gòu)的客戶服務(wù)器體系。
55、</p><p> 第一層客戶機(jī)是用戶與整個(gè)系統(tǒng)的接口??蛻舻膽?yīng)用程序精簡到一個(gè)通用的瀏覽器軟件,如Netscape Navigator,微軟公司的IE等。瀏覽器將HTML代碼轉(zhuǎn)化成圖文并茂的網(wǎng)頁。網(wǎng)頁還具備一定的交互功能,允許用戶在網(wǎng)頁提供的申請表上輸入信息提交給后臺,并提出處理請求。這個(gè)后臺就是第二層的Web服務(wù)器。 </p><p> 第二層Web服務(wù)器將啟動(dòng)相應(yīng)的進(jìn)程
56、來響應(yīng)這一請求,并動(dòng)態(tài)生成一串HTML代碼,其中嵌入處理的結(jié)果,返回給客戶機(jī)的瀏覽器。如果客戶機(jī)提交的請求包括數(shù)據(jù)的存取,Web服務(wù)器還需與數(shù)據(jù)庫服務(wù)器協(xié)同完成這一處理工作。 </p><p> 第三層數(shù)據(jù)庫服務(wù)器的任務(wù)類似于C/S模式,負(fù)責(zé)協(xié)調(diào)不同的Web服務(wù)器發(fā)出的SQ請求,管理數(shù)據(jù)庫。 </p><p><b> B/S模式的優(yōu)勢 </b></p>
57、;<p> 首先它簡化了客戶端。它無需象C/S模式那樣在不同的客戶機(jī)上安裝不同的客戶應(yīng)用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節(jié)省客戶機(jī)的硬盤空間與內(nèi)存,而且使安裝過程更加簡便、網(wǎng)絡(luò)結(jié)構(gòu)更加靈活。假設(shè)一個(gè)企業(yè)的決策層要開一個(gè)討論庫存問題的會(huì)議,他們只需從會(huì)議室的計(jì)算機(jī)上直接通過瀏覽器查詢數(shù)據(jù),然后顯示給大家看就可以了。甚至與會(huì)者還可以把筆記本電腦聯(lián)上會(huì)議室的網(wǎng)絡(luò)插口,自己來查詢相關(guān)的數(shù)據(jù)。其次,它簡化了系統(tǒng)的開發(fā)
58、和維護(hù)。系統(tǒng)的開發(fā)者無須再為不同級別的用戶設(shè)計(jì)開發(fā)不同的客戶應(yīng)用程序了,只需把所有的功能都實(shí)現(xiàn)在Web服務(wù)器上,并就不同的功能為各個(gè)組別的用戶設(shè)置權(quán)限就可以了。各個(gè)用戶通過HTTP請求在權(quán)限范圍內(nèi)調(diào)用Web服務(wù)器上不同處理程序,從而完成對數(shù)據(jù)的查詢或修改。現(xiàn)代企業(yè)面臨著日新月異的競爭環(huán)境,對企業(yè)內(nèi)部運(yùn)作機(jī)制的更新與調(diào)整也變得逐漸頻繁。相對于C/S,B/S的維護(hù)具有更大的靈活性。當(dāng)形勢變化時(shí),它無須再為每一個(gè)現(xiàn)有的客戶應(yīng)用程序升級,而只需
59、對Web服務(wù)器上的服務(wù)處理程序進(jìn)行修訂。這樣不但可以提高公司的運(yùn)作效率,還省去了維護(hù)時(shí)協(xié)調(diào)工作的不少麻煩。如果一個(gè)公司有上千臺客戶機(jī),并且分布在不同</p><p> 再次,它使用戶的操作變得更簡單。對于C/S模式,客戶應(yīng)用程序有自己特定的規(guī)格,使用者需要接受專門培訓(xùn)。而采用B/S模式時(shí),客戶端只是一個(gè)簡單易用的瀏覽器軟件。無論是決策層還是操作層的人員都無需培訓(xùn),就可以直接使用。B/S模式的這種特性,還使
60、60;MIS系統(tǒng)維護(hù)的限制因素更少。 </p><p> 最后,B/S特別適用于網(wǎng)上信息發(fā)布,使得傳統(tǒng)的MIS的功能有所擴(kuò)展。這是C/S所無法實(shí)現(xiàn)的。而這種新增的網(wǎng)上信息發(fā)布功能恰是現(xiàn)代企業(yè)所需的。這使得企業(yè)的大部分書面文件可以被電子文件取代,從而提高了企業(yè)的工作效率,使企業(yè)行政手續(xù)簡化,節(jié)省人力物力。 </p><p> 鑒于B/S相對于C/S的先進(jìn)性,B/S逐漸成為一種流行的MIS
61、系統(tǒng)平臺。各軟件公司紛紛推出自己的Internet方案,基于Web的財(cái)務(wù)系統(tǒng)、基于Web的ERP。一些企業(yè)已經(jīng)領(lǐng)先一步開始使用它,并且收到了一定的成效。 </p><p> B/S模式的新穎與流行,和在某些方面相對于C/S的巨大改進(jìn),使B/S成了MIS系統(tǒng)平臺的首選。</p><p> 4系統(tǒng)分析和開發(fā)計(jì)劃</p><p><b> 4.1 總體分析
62、</b></p><p> 開發(fā)一個(gè)系統(tǒng),首先要進(jìn)行系統(tǒng)分析。其主要任務(wù)是確定系統(tǒng)的規(guī)模和范圍,確定軟件的總體要求以及所需要的硬件環(huán)境和支撐軟件平臺、確定待開發(fā)軟件與外界的接口,確定軟件對操作系統(tǒng)的要求,以及待開發(fā)軟件總體上的約束和限制。系統(tǒng)分析有助于弄清所需開發(fā)的軟件、硬件環(huán)境、支撐軟件和操作人員的要求。</p><p> 4.2 項(xiàng)目開發(fā)計(jì)劃 </p>&
63、lt;p> 經(jīng)過詳細(xì)的分析后,我們一致認(rèn)為這是一項(xiàng)具有開發(fā)價(jià)值的軟件,接下來的工作就是編制項(xiàng)目開發(fā)計(jì)劃。通過對有關(guān)人員的統(tǒng)一調(diào)查,并吸取他們的意見、見解,要求系統(tǒng)需要有以下功能:</p><p> 1、要求有良好的人機(jī)界面。良好的人機(jī)界面是衡量一個(gè)系統(tǒng)易用性的重要標(biāo)準(zhǔn)之一。所以本系統(tǒng)的界面要求簡潔明了,使管理人員能迅速地就可以掌握系統(tǒng)的使用。</p><p> 2、要設(shè)置使用權(quán)
64、限,以提高軟件的安全性。</p><p> 3、對原始數(shù)據(jù)的修改簡單方便.修改也和其它系統(tǒng)一樣包括基本的修改、刪除和保存以及查詢等。</p><p> 要求對數(shù)據(jù)能進(jìn)行查詢、統(tǒng)計(jì)。查詢要求能以最快的速度找到所需數(shù)據(jù),以達(dá)到方便管理的目的。統(tǒng)計(jì)要求能根據(jù)人口信息信息、等進(jìn)行統(tǒng)計(jì)。讓軟件更具靈活性。</p><p><b> 4.3 內(nèi)容分析</b
65、></p><p> 音樂網(wǎng)站設(shè)計(jì)能夠方便地進(jìn)行音樂及音樂信息的網(wǎng)上發(fā)布和更新,并且可以檢索到符合查詢條件的音樂信息;用戶可以將音樂信息實(shí)現(xiàn)上傳,并能夠?qū)Ω黝愐魳芳耙魳沸畔⑦M(jìn)行網(wǎng)上查詢。該系統(tǒng)具有較強(qiáng)的操作權(quán)限管理功能。</p><p> 充分發(fā)揮互聯(lián)網(wǎng)的便利性,使招聘工作更便捷、更有效。從發(fā)布音樂及音樂信息、用戶瀏覽到音樂信息的管理等流程,音樂網(wǎng)站設(shè)計(jì)都將幫助用戶更方便地服務(wù)。
66、</p><p><b> 4.4 功能模塊圖</b></p><p> 圖4.1 功能模塊圖</p><p> 此功能模塊圖展示了本網(wǎng)站的總體設(shè)計(jì),分為四層表現(xiàn)了音樂網(wǎng)站的結(jié)構(gòu),同時(shí)解釋了每層的功能作用。</p><p> 4.5 處理流程設(shè)計(jì)</p><p><b> 1
67、系統(tǒng)操作流程圖</b></p><p> 圖4.2 系統(tǒng)操作流程圖</p><p> 該圖具體再現(xiàn)了操作本系統(tǒng)的流程,其中操作員還包括網(wǎng)站管理者與瀏覽人員,進(jìn)入操作界面時(shí)將更具使用者提供的賬號和密碼分配到不通的操作界面。</p><p><b> 2 數(shù)據(jù)增加流程</b></p><p> 添加信息時(shí)
68、,編號字段由系統(tǒng)自動(dòng)生成,且不能修改,其他信息由用戶輸入,</p><p> 之后對數(shù)據(jù)進(jìn)行合法判斷,合法則寫入保存至數(shù)據(jù)庫,不合法則重新輸入數(shù)據(jù)。數(shù)據(jù)增加流程圖如圖4.3所示:</p><p> 圖4.3 數(shù)據(jù)增加流程圖</p><p><b> 3數(shù)據(jù)修改流程</b></p><p> 在修改信息時(shí),先選中一
69、條待修改的記錄,然后直接輸入數(shù)據(jù),判斷合法性,合法則保存至數(shù)據(jù)庫,不合法重新輸入。數(shù)據(jù)修改流程圖如圖4.4所示。</p><p> 圖4.4 數(shù)據(jù)修改流程圖</p><p><b> 4數(shù)據(jù)刪除流程</b></p><p> 當(dāng)用戶選定一條記錄時(shí),單擊刪除按鈕,會(huì)提示用戶是否確定刪除,然后刪除數(shù)據(jù)庫相關(guān)內(nèi)容。數(shù)據(jù)刪除流程圖如圖4.5所示。
70、</p><p> 圖4.5 數(shù)據(jù)刪除流程圖</p><p><b> 4.6 E-R圖</b></p><p><b> 前臺用戶</b></p><p><b> 圖4.6前臺用戶</b></p><p> 該圖為用戶系統(tǒng)E-R結(jié)構(gòu)圖,具
71、體展示了用戶的權(quán)限與獲得的服務(wù),以及登陸音樂網(wǎng)站的具體操作流程。同時(shí)系統(tǒng)還會(huì)自動(dòng)區(qū)分用戶是否為注冊會(huì)員,注冊會(huì)員將獲得更多的服務(wù)。</p><p><b> 圖4.7管理員</b></p><p> 該圖為管理員系統(tǒng)E-R結(jié)構(gòu)圖,具體展示了管理員的權(quán)限,以及登陸音樂網(wǎng)站的具體操作流程。同時(shí)管理員能對整個(gè)系統(tǒng)的用戶以及用戶進(jìn)行的評論進(jìn)行管理。</p>
72、<p> 當(dāng)管理員增加的時(shí)候,一級管理員還能夠添加二級管理員,協(xié)助一級管理員進(jìn)行管理,一級管理員同時(shí)有權(quán)限進(jìn)行管理員的變換。</p><p><b> 5系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</b></p><p> 5.1 前臺模塊設(shè)計(jì)</p><p><b> 1 首頁</b></p><p>
73、圖5.1在線音樂管理系統(tǒng)網(wǎng)站首頁</p><p> 該界面是本音樂網(wǎng)站的主頁,當(dāng)用戶打開本網(wǎng)頁的時(shí)候,界面上將同時(shí)出現(xiàn)登陸窗口,頁面同時(shí)顯示出本站收藏的歌曲并在顯目的位置顯示出最新添加入庫的歌曲,方便用戶查詢。界面右上角同時(shí)附有小的電子鐘,方便用戶掌握時(shí)間。</p><p><b> 2 最新歌曲</b></p><p> 圖5.2最新歌
74、曲展示</p><p> 該界面顯示的是本音樂網(wǎng)站的最新歌曲,當(dāng)用戶打開本網(wǎng)頁的時(shí)候,所有最新添加入庫的歌曲將會(huì)按時(shí)間先后順序排列,便于查詢。</p><p><b> 3 全部分類</b></p><p> 圖5.3全部分類歌曲</p><p> 本界面是所有不同風(fēng)格分類展示,讓用戶能夠通過歌曲風(fēng)格更快捷的查找
75、到個(gè)人喜歡的音樂</p><p><b> 4搜索歌曲</b></p><p> 圖5.4歌曲收索界面</p><p> 該界面給用戶提供了歌曲查找功能,當(dāng)同一種類歌曲太多的時(shí)候,用戶可以通過了解的歌曲名稱或者歌手名字快速查找到所需的資料。</p><p><b> 5 用戶注冊</b>&l
76、t;/p><p> 圖5.5用戶注冊界面</p><p> 此圖展示的是新用戶注冊界面,將要求用戶填寫用戶名,密碼,昵稱,和性別等個(gè)人信息,同時(shí)系統(tǒng)還提供用戶名檢查功能,讓用戶查找是否該用戶名可用。</p><p><b> 6會(huì)員登錄</b></p><p> 圖5.6會(huì)員登陸界面</p><p
77、> 此圖展示的是會(huì)員登陸界面,將要求用戶填寫用戶名,密碼。當(dāng)確認(rèn)無誤后,系統(tǒng)將登陸。</p><p><b> 7 修改密碼</b></p><p> 圖5.7修改密碼界面</p><p> 該窗口提供給用戶和管理員針對個(gè)人的密碼進(jìn)行重新設(shè)置的功能。</p><p><b> 8 設(shè)為首頁<
78、;/b></p><p> 圖5.8提示設(shè)為首頁窗口</p><p> 該窗口是提醒用戶是否將本音樂網(wǎng)站設(shè)置為主頁,當(dāng)開起IE瀏覽器的時(shí)候?qū)⒅鲃?dòng)彈出,方便用戶在以后的共享本網(wǎng)站的資源。</p><p> 5.2 后臺模塊設(shè)計(jì)</p><p><b> 1管理員登陸</b></p><p&
79、gt; 圖5.9管理員登陸界面</p><p> 該界面是系統(tǒng)管理員專用登陸界面,通過該界面,管理員將登陸系統(tǒng)的控制界面對系統(tǒng)進(jìn)行日常管理和維護(hù)。</p><p><b> 2評論管理</b></p><p> 圖5.10評論管理界面</p><p> 該界面是系統(tǒng)管理員管理評論的界面,通過該界面,管理員可以對
80、會(huì)員的評論進(jìn)行日常管理。對于有害信息管理員將有刪除的權(quán)限。</p><p><b> 3 分類管理</b></p><p> 圖5.11分類管理界面</p><p> 該界面是系統(tǒng)管理員管理歌曲的界面,通過該界面,管理員可以對歌曲進(jìn)行日常管理。對于有變動(dòng)的歌曲信息,管理員能夠?qū)⑵鋭h除。</p><p><b&
81、gt; 4 歌曲管理</b></p><p> 圖5.12歌曲管理界面</p><p> 該界面是系統(tǒng)管理員管理歌曲的界面,通過該界面,管理員可以對歌曲進(jìn)行日常管理。同時(shí),通過該界面管理員也可對出現(xiàn)錯(cuò)誤信息的歌曲進(jìn)行查詢和修改。</p><p><b> 5 系統(tǒng)管理員設(shè)置</b></p><p>
82、 圖5.13管理員密碼修改界面</p><p> 該界面主要是給管理員提供賬號密碼修改的功能,當(dāng)修改密碼的時(shí)候,將要求管理員提供原密碼,防止讓其他非管理人員獲得管理員權(quán)限。</p><p><b> 6系統(tǒng)調(diào)試與測試</b></p><p><b> 6.1 程序調(diào)試</b></p><p>
83、 在設(shè)計(jì)系統(tǒng)的過程中,存在一些錯(cuò)誤是必然的。對于語句的語法錯(cuò)誤,在程序運(yùn)行時(shí)自動(dòng)提示,并請求立即糾正,因此,這類錯(cuò)誤比較容易發(fā)現(xiàn)和糾正。但另一類錯(cuò)誤是在程序執(zhí)行時(shí)由于不正確的操作或?qū)δ承?shù)據(jù)的計(jì)算公式的邏輯錯(cuò)誤導(dǎo)致的錯(cuò)誤結(jié)果。這類錯(cuò)誤隱蔽性強(qiáng),有時(shí)會(huì)出現(xiàn),有時(shí)又不出現(xiàn),因此,對這一類動(dòng)態(tài)發(fā)生的錯(cuò)誤的排查是耗時(shí)費(fèi)力的。</p><p><b> 6.2 程序的測試</b></p>
84、;<p> 1 測試的重要性及目的</p><p><b> ?。?)測試的重要性</b></p><p> 軟件的測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學(xué)僅處于運(yùn)行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來,軟件工程界趨向于一種新的觀點(diǎn),即認(rèn)為軟件生命周期每一階</p><p&
85、gt; 段中都應(yīng)包含測試,從而檢驗(yàn)本階段的成果是否接近預(yù)期的目標(biāo),盡可能早的發(fā)現(xiàn)錯(cuò)誤并加以修正,如果不在早期階段進(jìn)行測試,錯(cuò)誤的延時(shí)擴(kuò)散常常會(huì)導(dǎo)致最后成品測試的巨大困難。 </p><p> 事實(shí)上,對于軟件來講,不論采用什么技術(shù)和什么方法,軟件中仍然會(huì)有錯(cuò)。采用新的語言、先進(jìn)的開發(fā)方式、完善的開發(fā)過程,可以減少錯(cuò)誤的引入,但是不可能完全杜絕軟件中的錯(cuò)誤,這些引入的錯(cuò)誤需要測試來找出,軟件中的錯(cuò)誤密度也需要測
86、試來進(jìn)行估計(jì)。測試是所有工程學(xué)科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設(shè)計(jì)的那天起測試就一直伴隨著。統(tǒng)計(jì)表明,在典型的軟件開發(fā)項(xiàng)目中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30%到50%。如果把維護(hù)階段也考慮在內(nèi),討論整個(gè)軟件生存期時(shí),測試的成本比例也許會(huì)有所降低,但實(shí)際上維護(hù)工作相當(dāng)于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測試工作。 </p><
87、p> 在實(shí)踐中,軟件測試的困難常常使人望而卻步或敷衍了事,這是由于對測試仍然存在一些不正確的看法和錯(cuò)誤的態(tài)度,這包括: </p><p> ?、?認(rèn)為測試工作不如設(shè)計(jì)和編碼那樣容易取得進(jìn)展難以給測試人員某種成就感; </p><p> ② 以發(fā)現(xiàn)軟件錯(cuò)誤為目標(biāo)的測試是非建設(shè)性的,甚至是破壞性的,測試中發(fā)現(xiàn)錯(cuò)位是對責(zé)任者工作的一種否定; </p><p>
88、?、?測試工作枯燥無味,不能引起人們的興趣; </p><p> ④ 測試工作是艱苦而細(xì)致的工作; </p><p> ?、?對自己編寫的程序盲目自信,在發(fā)現(xiàn)錯(cuò)誤后,顧慮別人對自己的開發(fā)能力的看法。 </p><p> 這些觀點(diǎn)對軟件測試工作是極為不利的,必須澄清認(rèn)識、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。 </p><p><b&g
89、t; ?。?)測試的目的 </b></p><p> 如果測試的目的是為了盡可能多地找出錯(cuò)誤,那么測試就應(yīng)該直接針對軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置。 </p><p> ① 軟件測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程; </p><p> ?、?測試是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)誤; </p><p> ?、?
90、一個(gè)好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤; </p><p> ?、?一個(gè)成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測試。 </p><p> 這種觀點(diǎn)可以提醒人們測試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點(diǎn)可能會(huì)產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測試的唯一目,查找不出錯(cuò)誤的測試就是沒有價(jià)值的,事實(shí)并非如此。 </p><p>
91、首先,測試并不僅僅是為了要找出錯(cuò)誤。通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們設(shè)計(jì)出有針對性地檢測方法,改善測試的有效性。其次,沒有發(fā)現(xiàn)錯(cuò)誤的測試也是有價(jià)值的,完整的測試是評定測試質(zhì)量的一種方法。</p><p><b> 2測試的步驟</b></p><p> 與開發(fā)過程類似,測
92、試過程也必須分步驟進(jìn)行,每個(gè)步驟在邏輯上是前一個(gè)步驟的繼續(xù)。大型軟件系統(tǒng)通常由若干個(gè)子系統(tǒng)組成,每個(gè)子系統(tǒng)又由若干個(gè)模塊組成。因此,大型軟件系統(tǒng)的測試基本上由下述幾個(gè)步驟組成:</p><p> ?。?)模塊測試 在這個(gè)測試步驟中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤。</p><p> ?。?)系統(tǒng)測試 在這個(gè)測試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計(jì)中的錯(cuò)誤,也可能發(fā)現(xiàn)需求說明中的錯(cuò)誤。</p&
93、gt;<p> (3)驗(yàn)收測試 在這個(gè)測試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯(cuò)誤。</p><p><b> 3 測試的主要內(nèi)容</b></p><p> 為了保證測試的質(zhì)量,將測試過程分成幾個(gè)階段,即:代碼審查、單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試。 </p><p><b> ?。?)單元測試 </b
94、></p><p> 單元測試集中在檢查軟件設(shè)計(jì)的最小單位—模塊上,通過測試發(fā)現(xiàn)實(shí)現(xiàn)該模塊的實(shí)際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯(cuò)誤。 </p><p><b> ?。?)集成測試 </b></p><p> 集成測試是將模塊按照設(shè)計(jì)要求組裝起來同時(shí)進(jìn)行測試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。如一個(gè)模塊與另一個(gè)模塊可能
95、有由于疏忽的問題而造成有害影響;把子功能組合起來可能不產(chǎn)生預(yù)期的主功能;個(gè)別看起來是可以接受的誤差</p><p> 可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯(cuò)誤等。 </p><p><b> ?。?)確認(rèn)測試 </b></p><p> 確認(rèn)測試的目的是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計(jì)把所有的模
96、塊組裝成一個(gè)完整的軟件系統(tǒng),接口錯(cuò)誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性,這就是確認(rèn)測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。 </p><p><b> ?。?)系統(tǒng)測試 </b></p><p> 軟件開發(fā)完成以后,最終還要與系統(tǒng)中其他部分配套運(yùn)行,進(jìn)行系統(tǒng)測試。包括恢復(fù)測試、安全測試、強(qiáng)度測試和性能測試等。 </p>
97、<p> 單獨(dú)對系統(tǒng)的測試主要從以下幾方面入手:</p><p> ?、?功能測試:測試是否滿足開發(fā)要求,是否提供設(shè)計(jì)所描述的功能,是否用戶的需求都得到滿足。功能測試是系統(tǒng)測試最常用和必須的測試,通常還會(huì)以正式的軟件說明書為測試標(biāo)準(zhǔn)。</p><p> ② 強(qiáng)度測試及性能測試:測試系統(tǒng)能力最高實(shí)際限度,即軟件在一些超負(fù)荷情況下功能實(shí)現(xiàn)的情況。</p><p
98、> ③ 安全測試:驗(yàn)證安裝在系統(tǒng)內(nèi)的保護(hù)機(jī)構(gòu)確實(shí)能夠?qū)ο到y(tǒng)進(jìn)行保護(hù),使之不受各種非常的干擾。針對本系統(tǒng)主要是對權(quán)限系統(tǒng)的測試和對無效數(shù)據(jù)、錯(cuò)數(shù)據(jù)、和非法數(shù)據(jù)干擾的能力的測試。</p><p> 經(jīng)過上述的測試過程對軟件進(jìn)行測試后,軟件基本滿足開發(fā)的要求,測試宣告結(jié)束。 </p><p><b> 結(jié)束語</b></p><p>
99、幾個(gè)月來忙碌緊張而又有條不紊的畢業(yè)設(shè)計(jì),使我有機(jī)會(huì)對本專業(yè)的基本理論、專業(yè)知識和基本技術(shù)有了更深入的了解和體會(huì),使我在四年中所學(xué)到的知識得到了系統(tǒng)和升華,真正達(dá)到了學(xué)以致用。 </p><p> 對管理信息系統(tǒng)的體會(huì) </p><p> 管理信息系統(tǒng)是一門融管理科學(xué)、信息科學(xué)、系統(tǒng)科學(xué)、計(jì)算機(jī)科學(xué)與現(xiàn)代通信技術(shù)為一體的一門綜合性邊緣學(xué)科。它是運(yùn)用系統(tǒng)的方法以計(jì)算機(jī)和現(xiàn)代通信技術(shù)為基本信
100、息處理手段和工具的,能為管理決策提供信息服務(wù)的人—機(jī)系統(tǒng).它可以實(shí)現(xiàn)數(shù)據(jù)處理功能、預(yù)測功能、計(jì)劃功能、控制功能和輔助決策功能。管理信息系統(tǒng)的開發(fā)是一項(xiàng)復(fù)雜的系統(tǒng)工程,必須嚴(yán)格的按照系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施、系統(tǒng)運(yùn)行與評價(jià)的開發(fā)步驟來進(jìn)行。</p><p> 管理信息系統(tǒng)旨在提供一個(gè)全面的信息加工處理進(jìn)一步利用的工具,以提高管理水平。在系統(tǒng)開發(fā)之前,必須了解該系統(tǒng)的特點(diǎn)、適用范圍以及使用者需要一個(gè)什
101、么樣的系統(tǒng),以此作為基礎(chǔ)為開發(fā)系統(tǒng)準(zhǔn)確定位,然后對使用者所需實(shí)現(xiàn)的功能進(jìn)行分析總結(jié),根據(jù)使用者的實(shí)際要求來給系統(tǒng)設(shè)計(jì)一個(gè)初步方案。系統(tǒng)的開發(fā)不僅是要實(shí)現(xiàn)對數(shù)據(jù)處理的及時(shí)與正確,而且要考慮系統(tǒng)是否具有控制功能,及時(shí)將數(shù)據(jù)反饋給操作者,以進(jìn)行監(jiān)測和協(xié)調(diào),保證系統(tǒng)的正常運(yùn)行;也要考慮是否具有預(yù)測功能,運(yùn)用一定的數(shù)學(xué)方法利用歷史的數(shù)據(jù)對未來進(jìn)行預(yù)測的工作。</p><p><b> 設(shè)計(jì)實(shí)踐上的體會(huì) <
102、/b></p><p> 在設(shè)計(jì)的過程中,我掌握了很多了很多關(guān)于本系統(tǒng)的編程知識,并對這種成熟并廣泛應(yīng)用的技術(shù)進(jìn)行了深入的學(xué)習(xí)。設(shè)計(jì)的過程也是一個(gè)再學(xué)習(xí)的過程,在遇到問題的時(shí)候我盡量自己想辦法解決,這在很大程度上激發(fā)了我們的自學(xué)能力;在沒有辦法解決的情況下,認(rèn)真的向老師請教,從老師那里我學(xué)到了很多的知識,老師對我的指導(dǎo)起到了畫龍點(diǎn)睛的作用。</p><p> 以往我們曾經(jīng)有過多次
103、設(shè)計(jì)的體會(huì),但只是設(shè)計(jì)一個(gè)模塊或一個(gè)小系統(tǒng),而這一次畢業(yè)設(shè)計(jì)是綜合所學(xué)的管理和計(jì)算機(jī)的知識來設(shè)計(jì)一個(gè)適合運(yùn)行管理的系統(tǒng)軟件。要想設(shè)計(jì)使用戶滿意,就需要我們付出更多的努力。我在設(shè)計(jì)中經(jīng)常</p><p> 出現(xiàn)一些問題不知該如何解決,在此時(shí)許多同學(xué)給予了我們幫助。在設(shè)計(jì)的過程中增加了于實(shí)際接觸的機(jī)會(huì),不僅培養(yǎng)了我的自學(xué)和編程能力,讓我在即將離開學(xué)校進(jìn)入社會(huì)之前有了一定的資本,提高了我與人溝通的能力。</p&
104、gt;<p><b> 程序設(shè)計(jì)中的體會(huì) </b></p><p> 在我的程序設(shè)計(jì)過程中,我充分的體會(huì)到了“實(shí)踐出真知”這一點(diǎn),書本上的知識是不夠的,只有把理論與實(shí)踐相結(jié)合才能夠真正的學(xué)到知識。一個(gè)管理信息系統(tǒng)的設(shè)計(jì),不可能一步到位,還需要不斷的完善和補(bǔ)充。同時(shí),系統(tǒng)中還存在許多問題,有待在日后的使用中發(fā)現(xiàn)和解決。編程前的深思熟慮是減少程序調(diào)試工作量的重要方法,只有進(jìn)行充
105、分考慮,才會(huì)減少調(diào)試過程中的工作量。雖然在開始寫程序之前我們做了多的準(zhǔn)備工作,但在真正的寫程序時(shí)仍然發(fā)現(xiàn)許多問題,有些問題是分析時(shí)的疏漏,有些則是如果不做無論如何也想不到的。</p><p><b> 致謝</b></p><p> 在本次畢業(yè)設(shè)計(jì)過程中,得到了指導(dǎo)老師的指導(dǎo)與支持。在此特別感謝老師的大力幫助。指導(dǎo)老師的悉心指導(dǎo)和大力支持,在總體結(jié)構(gòu)、功能的把握上
106、給予了非常大的幫助,同時(shí)根我們提供了非常優(yōu)越的設(shè)計(jì)環(huán)境,并對我在編程、數(shù)據(jù)庫設(shè)計(jì)等細(xì)節(jié)工作上給予了耐心的指導(dǎo),對我順利完成這次畢業(yè)設(shè)計(jì)起到了關(guān)鍵性的作用。</p><p> 另外和我同組同學(xué)大家始終團(tuán)結(jié)協(xié)作,努力拼搏,增強(qiáng)了我的團(tuán)隊(duì)意識,并且我們接下了深厚的友誼,我們自始至終在一種愉快的氣氛中學(xué)習(xí)工作。此次畢業(yè)設(shè)計(jì)對提高我的編程技術(shù)、協(xié)調(diào)團(tuán)隊(duì)成員的關(guān)系等方面都由許多益處。在此我一并向他表示感謝。我還要感謝在大學(xué)
107、四年生活中給予我關(guān)心和幫助的老師和同學(xué),是他們教會(huì)了我專業(yè)的知識和做人的道理。通過這次畢業(yè)設(shè)計(jì)我還明白了作為一名計(jì)算機(jī)專業(yè)的大學(xué)畢業(yè)生,我們要會(huì)的不僅僅是編寫代碼,更重要的是要有整體把握系統(tǒng)設(shè)計(jì)的能力。我會(huì)在以后的工作和學(xué)習(xí)中不斷完善自己,為我最熱愛的母校爭光,為自己翻開輝煌的新篇章。</p><p> 轉(zhuǎn)眼間,大學(xué)生活即將結(jié)束,回首過去四年的大學(xué)生活,真是有苦也有樂,然而更多的則是收獲,感謝母校的各位老師不但
108、無私地傳授給我們知識,也教會(huì)了我們?nèi)绾巫鋈?。管理信息系統(tǒng)專業(yè)的畢業(yè)設(shè)計(jì)任務(wù)繁重,但正是在這幾個(gè)月緊張而充實(shí)的設(shè)計(jì)中,我感到自己的知識得到了一次升華,我相信:我的畢業(yè)設(shè)計(jì)會(huì)給我的四年大學(xué)畫上一個(gè)圓滿的句號。</p><p> 21世紀(jì)已經(jīng)到來了,在新的世紀(jì)里,人們自然對未來有許多美好的愿望和設(shè)想?,F(xiàn)代科學(xué)技術(shù)的飛速發(fā)展,改變了世界,也改變了世界的生活。作為新世紀(jì)的大學(xué)生,應(yīng)當(dāng)站在世界的發(fā)展前列,掌握現(xiàn)代科學(xué)技術(shù)知
109、識,調(diào)整自己的知識結(jié)構(gòu)和能力結(jié)構(gòu),以適應(yīng)社會(huì)發(fā)展的要求。新世紀(jì)需要具有豐富現(xiàn)代科學(xué)知識、能夠獨(dú)立解決面臨任務(wù)、有創(chuàng)新意識的新型人才。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] Bruce Eckel.《JAVA編程思想》. 機(jī)械工業(yè)出版社,2003年10月:1-378[2] 賽奎春.《JAVA工程應(yīng)用與項(xiàng)目實(shí)踐》. 機(jī)械工業(yè)出版社,
110、2002年8月:23-294[3] FLANAGAN. 《JAVA技術(shù)手冊》. 中國電力出版社,2002年6月:1-465[4] 孫一林,彭波.《JSP數(shù)據(jù)庫編程實(shí)例》. 清華大學(xué)出版社,2002年8月:30-210[5] LEE ANNE PHILLIPS.《巧學(xué)活用 JSP》.電子工業(yè)出版社, 2004年8月:1-319[6] 飛思科技產(chǎn)品研發(fā)中心.《JSP應(yīng)用開發(fā)詳解》.電子工業(yè)出版社,2003年9月:32-300[7]
111、 耿祥義,張躍平.《JSP實(shí)用教程》. 清華大學(xué)出版社,2003年5月1日:1-354[8] 孫涌.《現(xiàn)代軟件工程》.北京希望電子出版社,2003年8月:1-246 [9] 薩師煊,王珊.《數(shù)據(jù)庫系統(tǒng)概論》.高等教育出版社,2002年2月:3-460[10] Brown等.《JSP編程指南(第二版)》. 電子工業(yè)出版社 ,2003年3月:1-268 [11] 清宏計(jì)算機(jī)工作室.</p><p>
112、; [12] 朱紅,司光亞.《JSP編程指南》.電子工業(yè)出版社, 2001年9月:34-307</p><p> [13]耿文蘭.SQL Server 2000數(shù)據(jù)庫管理與開發(fā)[M].電子工業(yè)出版社,2003</p><p> [14]吉根林.WEB程序設(shè)計(jì)[M].電子工業(yè)出版社,2002.</p><p> [15]陳國君等編著.Java程序設(shè)計(jì)基礎(chǔ).北京
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于內(nèi)容分發(fā)網(wǎng)絡(luò)的愛音樂系統(tǒng)的研究與設(shè)計(jì).pdf
- 基于java的網(wǎng)絡(luò)通訊系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(論文+系統(tǒng))
- 基于JAVA的網(wǎng)絡(luò)通訊系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).doc
- 基于java的網(wǎng)絡(luò)對講系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于音頻FFT的色彩音樂系統(tǒng)的研究與設(shè)計(jì).pdf
- 基于Java的WMI網(wǎng)絡(luò)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 背景音樂系統(tǒng)
- 基于Java EE的網(wǎng)絡(luò)銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于java的網(wǎng)絡(luò)爬蟲的設(shè)計(jì)與實(shí)現(xiàn)
- 基于java即時(shí)聊天系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)-
- 基于java在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于Java EE的網(wǎng)絡(luò)營銷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android平臺的電子音樂系統(tǒng)設(shè)計(jì).pdf
- 電子時(shí)鐘系統(tǒng)課程設(shè)計(jì)-- --音樂系統(tǒng)設(shè)計(jì)
- 基于java的cms系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于XML-JAVA的網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于java的銀行系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于Java平臺的網(wǎng)絡(luò)資源搜索系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于java的博客管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于java的cms系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評論
0/150
提交評論