版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
電信網(wǎng)上營業(yè)廳用戶自服務(wù)系統(tǒng)的設(shè)計與實現(xiàn)方案i i電信網(wǎng)上營業(yè)廳用戶自服務(wù)系統(tǒng)的設(shè)計與實現(xiàn)方案摘要本文在對目前各種網(wǎng)上營業(yè)廳的功能原理進(jìn)行了分析后,在山西省移動公司實習(xí)期間,為保證電信網(wǎng)上營業(yè)廳系統(tǒng)中心數(shù)據(jù)庫的安全,設(shè)計了一個具有三層結(jié)構(gòu)的網(wǎng)上營業(yè)廳,以web頁面方式實現(xiàn)了與用戶的交互,同時保證了網(wǎng)上營業(yè)廳終端系統(tǒng)與中心數(shù)據(jù)庫的隔離。使用JSP編程語言作為開發(fā)工具實現(xiàn)了終端動態(tài)頁面的設(shè)計,提供了安全、友好、快速的訪問交互方式,提高了程序的靈活性和系統(tǒng)的安全性。整個系統(tǒng)能夠?qū)崿F(xiàn)話費查詢、業(yè)務(wù)受理的基本業(yè)務(wù),同時還對交易中用戶的各種操作進(jìn)行了記錄,擴(kuò)展了意見反饋和手機號碼歸屬地查詢等網(wǎng)絡(luò)服務(wù)功能,通過了調(diào)試和試運行。但是這個系統(tǒng)還有很多不完善之處,需進(jìn)一步升級改進(jìn)。關(guān)鍵詞:網(wǎng)上營業(yè)廳;JSP編程;數(shù)據(jù)庫ii iiTelecomonlinebusinessuserstodesignandimplementationofself-servicesystemsAbstractBasedontheprincipleofonlinebusinesshallisanalyzed,duringmyinternshipinShanxiprovinceMobileCorporation,inordertoensurethetelecomonlinebusinesshallsystemcenterdatabasesecurity,designathreelayerstructureoftheonlinebusinesshall,tothewebpagetorealizetheinteractionwiththeuser,andensurestheisolationnetbusinessofficeterminalsystemandcentraldatabase.TheuseofJSPprogramminglanguageasthedevelopmenttooltorealizethedesignofdynamicpages,toprovideasafe,friendly,fastaccesstointeractivemode,improvesthesafetyofflexibilityandthesystemprogram.Thewholesystemcanrealizethebasicbusinesscallsinquiries,businessacceptance,butalsovariousoperationsonthetransactionofuserswererecorded,extendsthefeedbackandmobilephonenumbersattributiontoinquiriesandotherfunctionsofthenetworkservice,throughthecommissioningandtrialoperation.Butthesystemtherearemanyimperfections,needfurtherimprovement.Keywords:Telecomonlinebusiness;JSPprogramming;Database目錄摘要 iAbstract ii1.緒論 .緒論1.1研究背景自2008年我國電信業(yè)重組后,三大電信運營商(中國移動、中國電信和中國聯(lián)通)開展全業(yè)務(wù)運營后,彼此間的競爭更加激烈,這迫使三大電信運營商紛紛將發(fā)展渠道作為爭奪用戶和提高服務(wù)水平的重要舉措。作為運營商渠道的重要組成部分,電信網(wǎng)上營業(yè)廳已顯示出巨大的發(fā)展?jié)摿?,用戶?shù)量逐年增加。伴隨著科技進(jìn)步和經(jīng)濟(jì)全球化,電信行業(yè)在不斷地發(fā)展與變革中已經(jīng)成為全球增長最快,市場潛力最大的一個產(chǎn)業(yè)。國內(nèi)的三大運營商開了激烈的競爭,誰能爭取到最多的用戶,誰就能在競爭中立于不敗之地,電信行業(yè)在服務(wù)內(nèi)容,服務(wù)方式和服務(wù)質(zhì)量上面臨著日益加劇的競爭和嚴(yán)峻挑戰(zhàn)。如果運營商依賴傳統(tǒng)的服務(wù)方式,將會面臨著很多的困難:1.由于殘酷的競爭導(dǎo)致全國各地大幅度的增開營業(yè)網(wǎng)點,必須配備更多的營業(yè)員和營業(yè)設(shè)備,導(dǎo)致管理和資源上的高額開支;2.無線應(yīng)用的接入手段不斷增加,如GSM、GPRS、3G、4G等的不斷推出,需要增加更多的服務(wù)種類;3.隨著各種應(yīng)用服務(wù)的廣泛推出,傳統(tǒng)的服務(wù)方式不便于整合;4.隨著用戶自身素質(zhì)的不斷提高,就需要更貼切自身的個性化服務(wù),而傳統(tǒng)的服務(wù)方式很難實現(xiàn)。因此,各大電信運營商紛紛想方設(shè)法拓展自己的業(yè)務(wù),方便于用戶的服務(wù),及時有效地得到用戶的意見反饋,以此吸引更多的用戶,開展網(wǎng)上營業(yè)廳為用戶提供自助服務(wù)是必然選擇。因此,如何充分發(fā)揮電子渠道的服務(wù)職能,以及在做好服務(wù)的基礎(chǔ)上發(fā)揮電子渠道的營銷職能,是電信運營商提升核心競爭力的重要戰(zhàn)略之一。電信網(wǎng)上營業(yè)廳是運營商電子渠道的高級形式,以特定的信息系統(tǒng)(與用戶進(jìn)行交互,并且是通過互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)和無線應(yīng)用協(xié)議等方式向用戶提供電信業(yè)務(wù)服務(wù)的自助服務(wù)平臺。作為高科技的產(chǎn)物,電信營業(yè)廳有多種優(yōu)勢,例如成本低、24小時全天候服務(wù)、隨時隨地接入等。因此,推動電信網(wǎng)上營業(yè)廳發(fā)展對電信運營商和用戶是一個雙贏的過程。學(xué)者們針對網(wǎng)上營業(yè)廳的研究較少,擴(kuò)展到信息系統(tǒng)領(lǐng)域的研究則較多。對于信息系統(tǒng)使用行為的研究包括初始接受行為和接受后的行為,其中,接受后的行為主要是指持續(xù)使用行為?,F(xiàn)有研究表明用戶初始接受只是信息系統(tǒng)成功的第一步,企業(yè)長期生存和最終成功卻依賴于用戶的持續(xù)使用,而非僅僅初始接受。同時,用戶在最初嘗試使用信息系統(tǒng)后,由于各種各樣的原因而終止使用,這種不能持續(xù)使用的行為會造成人力和財力的浪費。尤其是以網(wǎng)絡(luò)平臺為基礎(chǔ)的信息系統(tǒng),其長期存活和發(fā)展壯大需要保持一定的活躍用戶數(shù)量。只有依靠用戶持續(xù)有效的使用,信息系統(tǒng)才能獲得預(yù)期的使用價值。也就是說相比初始的采納行為而言,信息系統(tǒng)的持續(xù)使用更為重要。具體到本文,電信網(wǎng)上營業(yè)廳作為特殊的信息系統(tǒng),用戶的持續(xù)使用行為同樣重要?,F(xiàn)有的研究表明顧客感知價值是用戶持續(xù)使用行為最重要的影響因素。1.2課題意義隨著市場經(jīng)濟(jì)的發(fā)展和人們生活水平的提高,已然進(jìn)入了移動互聯(lián)時代。當(dāng)O2O市場的來臨,智能手機用戶越來越多。手機收費管理便顯出越來越多的不足,傳統(tǒng)計費也往往會出現(xiàn)錯誤。本系統(tǒng)旨在為電信管理人員提供一個功能齊全、使用方便的手機收費管理系統(tǒng)以代替?zhèn)鹘y(tǒng)管理方式。可以幫助工作人員有序的管理移動手機收費,使計費更加方便,不易出現(xiàn)錯誤。通過開卡記錄手機收費信息,使記錄的數(shù)據(jù)更加真實可信,計費也更加精確?,F(xiàn)在我國的電信通信營業(yè)廳管理水平比較滯后,局限于各種社會因素,有很多弊端,這樣的機制已經(jīng)不能適應(yīng)時代的發(fā)展,浪費了許多人力和物力,在信息時代傳統(tǒng)的管理方法必然被計算機為基礎(chǔ)的信息管理所取代。軟件作為一項有力的工具,只能當(dāng)此種工具,與我們的實踐相結(jié)合起來的時候,才具有重大的社會價值及使用價值。因此根據(jù)目前實際的情況開發(fā)這樣一套管理系統(tǒng)是十分必要的。2.系統(tǒng)的可行性研究與需求分析2.1可行性研究在山西省移動營業(yè)廳進(jìn)行了大量的抽查和調(diào)研后,通過問卷調(diào)查等。對系統(tǒng)目標(biāo)的初步調(diào)研和分析,提出可行性方案并進(jìn)行論證。我們在這里主要從技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性三方面進(jìn)行分析。2.1.1經(jīng)濟(jì)可行性開發(fā)該系統(tǒng)所需的相關(guān)資料可以通過已存在的相關(guān)網(wǎng)站進(jìn)行調(diào)查采集,所需的其他應(yīng)用軟件、硬件系統(tǒng)也易于獲得.因此,開發(fā)成本較低。而引進(jìn)使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點,可以節(jié)省不少人力、物力及財力。所以,從經(jīng)濟(jì)的角度來看,該系統(tǒng)可行。2.1.2技術(shù)可行性技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。軟件方面:由于目前單機模式相對發(fā)展成熟,故軟件的開發(fā)平臺成熟可行,它們速度快、容量大、可靠性能高、價格低,完全能滿足系統(tǒng)的需求。本系統(tǒng)用的是JSP開發(fā)語言,調(diào)試相對簡單,當(dāng)前的計算機硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對可行的。2.1.3運行可行性運行可行性是對組織結(jié)構(gòu)的影響,現(xiàn)有人員和機構(gòu)和環(huán)境對系統(tǒng)的適應(yīng)性及人員培訓(xùn)補充計劃的可行性。當(dāng)前信息化技術(shù)已經(jīng)相當(dāng)普及,各類操作人員水平都有相當(dāng)?shù)母叨?,所以在運行上是可行性的。本系統(tǒng)的開發(fā),主要是對數(shù)據(jù)的處理,包括數(shù)據(jù)的收集,數(shù)據(jù)的變換,及數(shù)據(jù)的各種報表形式的輸出。采用流行的JSP+SQLSERVER2000體系,已無技術(shù)上的問題。2.1.4時間可行性從時間上看,在兩個月的時間里學(xué)習(xí)相關(guān)知識,并開發(fā)網(wǎng)站,時間上是有點緊,但是不是不可能實現(xiàn),通過兩個多月的努力功能基本實現(xiàn)。2.1.5法律可行性:①所有技術(shù)資料都為合法。②開發(fā)過程中不存在知識產(chǎn)權(quán)問題。③未抄襲任何網(wǎng)站,不存在侵犯版權(quán)問題。綜上所述,本系統(tǒng)的開發(fā)從技術(shù)上、從經(jīng)濟(jì)上、從法律上都是完全可靠的。2.2需求分析需求分析是軟件設(shè)計的一個重要的環(huán)節(jié)。本階段對監(jiān)獄管理系統(tǒng)的應(yīng)用情況作全面調(diào)查,以確定系統(tǒng)目標(biāo)。確定用戶的需求。用戶對系統(tǒng)的需求我們從以下幾方面進(jìn)行分析。2.2.1系統(tǒng)需求用JSP及后臺SQLSERVER數(shù)據(jù)庫開發(fā)本系統(tǒng)基于B/S(瀏覽器/服務(wù)器)模式,系統(tǒng)軟件和數(shù)據(jù)集中存放于服務(wù)器中,軟件的安裝與升級在服務(wù)器上進(jìn)行。所有的工作基于瀏覽器,安裝、使用、維護(hù)、升級十分簡單。2.2.2性能需求為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行。系統(tǒng)處理的準(zhǔn)確性和及時性是系統(tǒng)的必要性能。由于本系統(tǒng)的添加功能對于整個系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來源,其準(zhǔn)確性和及時性很大程度上決定了系統(tǒng)的成敗。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性和及時性。2.2.3應(yīng)用需求分析表1應(yīng)用需求分析服務(wù)器硬件處理器:Intel5服務(wù)器軟件MicrosoftWindowsXP
SQLSERVER
MicrosoftIIS6.0或更高版本
MicrosoftOffice2003客戶機硬件可以上網(wǎng)客戶機軟件MicrosoftWindowsXP
MicrosoftIE6.0或更高版本 系統(tǒng)的性能要求通常指系統(tǒng)需要的存儲容量以及后援存儲,重新啟動和安全性,運行效率等方面的考慮。硬件系統(tǒng)環(huán)境:hp、1GMB(RAM)、500MB(HD)。系統(tǒng)運行時對數(shù)據(jù)的保密性要求不高對一般的數(shù)據(jù)不要求進(jìn)行加密。此外,對其它軟件幾乎沒有依賴性,程序健壯性較好。2.2.4運行需求分析硬件條件:hp6450b;局域網(wǎng);軟件條件:WindowsXP或者Windows7;2.2.5其他需求分析本系統(tǒng)有較好的可維護(hù)性、可靠性、可理解性、效率。易于用戶理解和操作??删S護(hù)性包括了可讀性、可修改性、可測試性、等含義。可靠性通常包括正確性和健壯性。開發(fā)過程中,在各種矛盾的目標(biāo)之間作權(quán)衡,并在一定的限制的條件下(經(jīng)費、時間、可用的軟、硬件資源等),使上述各方面最大限度的得到滿足。3.相關(guān)相關(guān)技術(shù)介紹3.1JSP技術(shù)簡介JSP是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)簽,就構(gòu)成了JSP網(wǎng)頁java程序片段可以操縱數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-mail等,實現(xiàn)建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問JSP網(wǎng)頁。JSP全名為JavaServerPages,其根本是一個簡化的Servlet設(shè)計,他實現(xiàn)了Html語法中的java擴(kuò)張(以<%,%>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的。通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。通常JSP頁面很少進(jìn)行數(shù)據(jù)處理,只是用來實現(xiàn)網(wǎng)頁的靜態(tài)化頁面,只是用來提取數(shù)據(jù),不會進(jìn)行業(yè)務(wù)處理。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計的顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。JSP(JavaServerPages)是一種動態(tài)頁面技術(shù),它的主要目的是將表示邏輯從Servlet中分離出來。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。JavaServlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο螅哂衅脚_無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點。自JSP推出后,眾多大公司都支持JSP技術(shù)的服務(wù)器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業(yè)應(yīng)用的服務(wù)器端語言。3.2JSP工作原理JSP是面向服務(wù)器的,因此支持任何瀏覽器。當(dāng)Web服務(wù)器和JSP引擎遇到訪問JSP網(wǎng)頁的請求時,JSP引擎將請求對象發(fā)送給服務(wù)器端的相關(guān)組件,比如JavaBean組件、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)模式。因為JSP所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果。在一個JSP文件第一次被請求時,JSP引擎把該JSP文件轉(zhuǎn)換成為一個servlet。而這個引擎本身也是一個servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。JSP引擎先把該JSP文件轉(zhuǎn)換成一個Java源文件,在轉(zhuǎn)換時如果發(fā)現(xiàn)jsp文件有任何語法錯誤,轉(zhuǎn)換過程將中斷,并向服務(wù)端和客戶端輸出出錯信息;如果轉(zhuǎn)換成功,JSP引擎用javac把該Java源文件編譯成相應(yīng)的class文件。然后創(chuàng)建一個該SERVLET的實例,該SERVLET的Init()方法被執(zhí)行,Init()方法在servlet的生命周期中只被執(zhí)行一次。然后Service()方法被調(diào)用來處理客戶端的請求。對每一個請求,JSP引擎創(chuàng)建一個新的線程來處理該請求。如果有多個客戶端同時請求該JSP文件,則JSP引擎會創(chuàng)建多個線程。每個客戶端請求對應(yīng)一個線程。以多線程方式執(zhí)行可大大降低對系統(tǒng)的資源需求,提高系統(tǒng)的并發(fā)量及響應(yīng)時間.但應(yīng)該注意多線程的編程限制,由于該servlet始終駐于內(nèi)存,所以響應(yīng)是非??斓摹H绻?jsp文件被修改了,服務(wù)器將根據(jù)設(shè)置決定是否對該文件重新編譯,如果需要重新編譯,則將編譯結(jié)果取代內(nèi)存中的servlet,并繼續(xù)上述處理過程。雖然JSP效率很高,但在第一次調(diào)用時由于需要轉(zhuǎn)換和編譯而有一些輕微的延遲。此外,如果在任何時候如果由于系統(tǒng)資源不足的原因,JSP引擎將以某種不確定的方式將servlet從內(nèi)存中移去。當(dāng)這種情況發(fā)生時Destroy()方法首先被調(diào)用,然后servlet實例便被標(biāo)記加入"垃圾收集"處理。Init()及Destory()格式如下:可在Init()中進(jìn)行一些初始化工作,如建立與數(shù)據(jù)庫的連接,或建立網(wǎng)絡(luò)連接,從配置文件中取一些參數(shù)等,在Destory()中釋放相應(yīng)的資源。3.3JSP體系結(jié)構(gòu)JSP網(wǎng)站開發(fā)標(biāo)準(zhǔn)給出了兩種使用JSP的技術(shù),可以歸納為模式一、模式二。模式一:JSP+JavaBeans技術(shù)jsp頁面獨自響應(yīng)請求并將處理結(jié)果返回客戶,這里面使用了表達(dá)與內(nèi)容的分離,其中數(shù)據(jù)存取都是由bean來完成的。Bean處理所有數(shù)據(jù)訪問,JSP實現(xiàn)頁面的表現(xiàn),以實現(xiàn)內(nèi)容生成與顯示相分離。當(dāng)處理復(fù)雜的大型應(yīng)用時,頁面被嵌入大量的腳本或Java代碼段,當(dāng)需要處理的商業(yè)邏輯復(fù)雜時,這種情況會變得非常糟糕,大量的內(nèi)嵌代碼使得頁面程序變得復(fù)雜,對于前端界面設(shè)計人員,這是不可思議的事情。所以模式一可用于小型應(yīng)用,不能夠滿足大型應(yīng)用的需要。模式二:JSP+Servlet+JavaBeans技術(shù)Servlet技術(shù)是一種采用Java技術(shù)來實現(xiàn)CGI功能的一種技術(shù),Servlet技術(shù)非常適于服務(wù)器端的處理和編程,并且Servlet會長期駐留在內(nèi)存。MVC標(biāo)注模式,JSP用于view展示,Servlet用于control,M代表業(yè)務(wù)領(lǐng)域模型層。從開發(fā)的觀點看,模式二具有更清晰的頁面表現(xiàn),清楚的開發(fā)者角色劃分,在大規(guī)模項目開發(fā)中,模式二更被采用,模式二也更符合當(dāng)前流行的MVC結(jié)構(gòu)(Model/view/controller),其中Servlet對應(yīng)controller,處于控制者的位置,處理HTTP請求,負(fù)責(zé)生成JSP中使用的Beans組件或?qū)ο螅⑴袛鄳?yīng)將請求傳遞給哪個JSP等,JSP對應(yīng)view,負(fù)責(zé)生成最終的動態(tài)網(wǎng)頁并返回給瀏覽器。而JavaBeans對應(yīng)的是Model,實現(xiàn)各個具體的應(yīng)用邏輯與功能。3.4JSP的特點1.簡化的頁面生成技術(shù)。JSP頁面用標(biāo)準(zhǔn)的HTML或XML命令來處理頁面的格式化和布局設(shè)計,而用類似HTML、XML的標(biāo)記和Java語言編寫的腳本程序生成頁面內(nèi)容。這使得頁面形式與頁面內(nèi)容互相獨立,非常有利于大型項目的分工合作。2.與Java平臺有機集成。JSP技術(shù)是Java2平臺的重要組成部分,JSP使用Java語言作為它的腳本語言。在JSP頁面中可以使用幾乎所有的Java組件和JavaAPI,這就能充分發(fā)揮出Java語言的強大功能。使用JSP技術(shù)可以創(chuàng)建具有高度可伸縮性和可靠性的Web應(yīng)用程序。既然JSP是基于Java語言的,那么它就可以使用JavaAPI,所以它也是跨平臺的,可以應(yīng)用在不同的系統(tǒng)中,如Windows、Linux、Mac和Solaris等。這同時也拓寬了JSP可以使用的Web服務(wù)器的范圍。另外,應(yīng)用于不同操作系統(tǒng)的數(shù)據(jù)庫也可以為JSP服務(wù),JSP使用JDBC技術(shù)操作數(shù)據(jù)庫,從而避免了代碼移植導(dǎo)致更換數(shù)據(jù)庫時的代碼修改問題。正是因為跨平臺的特性,使得采用JSP技術(shù)開發(fā)的項目可以不加修改地應(yīng)用到任何不同的平臺上,這也應(yīng)驗了Java語言的"一次編寫,處處運行"的特點。1.硬件平臺和服務(wù)器無關(guān)性。JSP作為Java家族的一員,秉承了Java技術(shù)的“一次編寫,隨處可用(WriteOnce,RumAnywhere)”的特性,可以運行于大多數(shù)流行的操作系統(tǒng)平臺及Web服務(wù)器,這種與服務(wù)器硬件和操作系統(tǒng)平臺的無關(guān)性是JSP相對于其它動態(tài)網(wǎng)頁技術(shù)最大的一個優(yōu)點。2.功能可擴(kuò)展性。如同Microsoft的JSP技術(shù)可以通過ActiveX/COM組件來擴(kuò)展功能一樣,JSP可以通過JavaBean和EJB(EnterpriseJavaBean)以及自定義的標(biāo)記來擴(kuò)展功能。JSP可以通過JDBC,與諸如Oracle、SQLServer這樣的大型關(guān)系數(shù)據(jù)庫進(jìn)行連接。JSP提供了一些隱含對象。這些隱含對象在JSP頁面中可以直接引用,而不必首先聲明。利用JSP提供的這些隱含對象,可以使腳本功能更加強大,并且編程更加容易、方便。例如,利用request對象,可以很容易地接收用戶在HTML表單中提交的信息。JSP中可以使用JavaBean編寫業(yè)務(wù)組件,也就是使用一個JavaBean類封裝業(yè)務(wù)處理代碼或者作為一個數(shù)據(jù)存儲模型,在JSP頁面甚至整個項目中都可以重復(fù)使用這個JavaBean。JavaBean也可以應(yīng)用到其他Java應(yīng)用程序中,包括桌面應(yīng)用程序。3.5SQLSERVER數(shù)據(jù)庫SQLServer是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個OS/2版本。SQLServer近年來不斷更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用戶見面;SQLServer2000是Microsoft公司于2000年推出的最新版本。SQLServer特點:1.SQLServer是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),它最初是由Microsoft,Sybase和Ashton-Tate三家公司共同開發(fā)的于1988年推出了第一個OS/2版本,在WindowsNT推出后,Microsoft與Sybase在SQLServer的開發(fā)上就分道揚鑣了,Microsoft將SQLServer移植到WindowsNT系統(tǒng)上專注于開發(fā)推廣SQLServer的WindowsNT版本,Sybase則較專注于SQLServer在UNIX操作系統(tǒng)上的應(yīng)用.MicrosoftSQLServer以后簡稱為SQLServer或MSSQLServer。2.隨著信息技術(shù)的發(fā)展,計算機處理數(shù)據(jù)的方式也發(fā)生著變化,文件管理系統(tǒng)--數(shù)據(jù)庫管理系統(tǒng)。MicrosoftSQLServer是一個分布式的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),具有客戶機/服務(wù)器體系結(jié)構(gòu),采用了Transact-sql的sql語言在客戶機與服務(wù)器間傳遞客戶機的請求與服務(wù)器的處理結(jié)果。3.眾所周知,SQLServer能夠滿足今天的商業(yè)環(huán)境要求不同類型的數(shù)據(jù)庫解決方案。它一種應(yīng)用廣泛的數(shù)據(jù)庫管理系統(tǒng),具有許多顯著的優(yōu)點:易用性、適合分布式組織的可伸縮性、用于決策支持的數(shù)據(jù)倉庫功能、與許多其他服務(wù)器軟件緊密關(guān)聯(lián)的集成性、良好的性價比等。性能、可伸縮性及可靠性是基本要求,而進(jìn)入市場時間也非常關(guān)鍵。4.除這些SQLServer的優(yōu)點外,SQLServer還為數(shù)據(jù)管理與分析帶來了靈活性,允許單位在快速變化的環(huán)境中從容響應(yīng),從而獲得競爭優(yōu)勢。從數(shù)據(jù)管理和分析角度看,將原始數(shù)據(jù)轉(zhuǎn)化為商業(yè)智能和充分利用Web帶來的機會非常重要。作為一個完備的數(shù)據(jù)庫和數(shù)據(jù)分析包,SQLServer為快速開發(fā)新一代企業(yè)級商業(yè)應(yīng)用程序、為企業(yè)贏得核心競爭優(yōu)勢打開了勝利之門。作為重要的基準(zhǔn)測試可伸縮性和速度獎的記錄保持者,SQLServer是一個具備完全Web支持的數(shù)據(jù)庫產(chǎn)品,提供了對可擴(kuò)展標(biāo)記語言(XML)的核心支持以及在Internet上和防火墻外進(jìn)行查詢的能力。3.6系統(tǒng)數(shù)據(jù)庫連接JDBC技術(shù)是JavaDataBaseConnectivity的縮寫,它是SUN公司提供的一種支持基本SQL功能的通用的應(yīng)用程序接口。它由一組用Java語言編寫的類和接口組成。通過這些類和接口,通過執(zhí)行相應(yīng)SQL語句,完成對不同數(shù)據(jù)庫的訪問。因此,開發(fā)人員使用JDBCAPI可以不必編寫一個應(yīng)用程序來訪問Sybase數(shù)據(jù)庫,又另外編寫一個應(yīng)用程序去訪問Oracle數(shù)據(jù)庫,再寫一個應(yīng)用程序訪問Microsoft的SQLServer。使用Java語言編寫的應(yīng)用程序可以在任何支持Java的平臺上運行,不必在不同的平臺上開發(fā)不同的應(yīng)用程序。簡單地說,JDBC能完成下列三件事:1.同一個數(shù)據(jù)庫建立連接;2.向數(shù)據(jù)庫建立連接;3.處理數(shù)據(jù)庫返回的結(jié)果。很多可視化的Java開發(fā)工具,如VisualAgeForJava、VisualCafé、J++等都提供了基于JDBC的更面向用戶的類和包,直接將關(guān)系數(shù)據(jù)庫的表或視圖映射為Java類,程序員通過可視化工具直接對Java對象進(jìn)行操作,而真正需要的SQL調(diào)用則根據(jù)程序員發(fā)出的對對象的各種屬性、方法的操作來自動產(chǎn)生。另一種使用JDBCAPI的方式為,用戶程序可以提供一個界面(如菜單等)讓用戶選擇對數(shù)據(jù)庫進(jìn)行的操作,選中一個任務(wù)后,提示用戶輸入一些必要的信息,然后根據(jù)用戶的輸入產(chǎn)生相應(yīng)的SQL命令以及Java程序。數(shù)據(jù)庫訪問的三層結(jié)構(gòu)如圖3.1所示,瀏覽器端程序要訪問數(shù)據(jù)庫,首先通過中間件,然后由中間件對數(shù)據(jù)庫操作權(quán)限進(jìn)行認(rèn)證,認(rèn)證通過才能對數(shù)據(jù)庫進(jìn)行操作。數(shù)據(jù)庫服務(wù)器中間件Web服務(wù)器瀏覽器數(shù)據(jù)庫服務(wù)器中間件Web服務(wù)器瀏覽器數(shù)據(jù)庫數(shù)據(jù)庫圖圖3.1使用中間件的數(shù)據(jù)庫訪問三層結(jié)構(gòu)用戶對數(shù)據(jù)庫的存取權(quán)限認(rèn)證是中間件中完成,對數(shù)據(jù)庫的查詢、插入、更新和刪除操作等都封裝在中間件中,該中間件位于服務(wù)器端,中間件對數(shù)據(jù)庫進(jìn)行操作后,再將處理結(jié)果通過Web服務(wù)器返回到瀏覽器端用戶。這樣,在用戶端輸入的用戶名和密碼,可以通過加密算法進(jìn)行加密后在網(wǎng)絡(luò)上傳輸,在中間件中進(jìn)行解密認(rèn)證,然后再進(jìn)行數(shù)據(jù)庫的存取操作,數(shù)據(jù)庫存取權(quán)限的用戶名和密碼出現(xiàn)在位于服務(wù)器端的中間件中,這樣就更加安全。本系統(tǒng)采用的正是這樣的三層結(jié)構(gòu)的數(shù)據(jù)庫訪問模式。在三層模型中,命令將被發(fā)送到服務(wù)的”中間層”,而”中間層”將SQL語句發(fā)送到數(shù)據(jù)庫。數(shù)據(jù)庫處理SQL語句并將結(jié)果返回”中間層”,然后”中間層”將它們返回用戶。其模型如圖3.3所示。JavaAppletJavaApplet客戶機客戶機(GUI)HTTP,RMI或CORBA調(diào)用HTTP,RMI或CORBA調(diào)用應(yīng)用服務(wù)器應(yīng)用服務(wù)器(事務(wù))服務(wù)器(事務(wù))服務(wù)器JDBCJDBCDBMS專用協(xié)議DBMS專用協(xié)議數(shù)據(jù)庫服務(wù)器DBMS數(shù)據(jù)庫服務(wù)器DBMS圖圖3-2數(shù)據(jù)連接因為”中間層”可以進(jìn)行對訪問的控制并協(xié)同數(shù)據(jù)庫的更新,并且可以使用一個易用的高層API,這個API可以由“中間層”進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成低層的調(diào)用。所以在許多種情況下,三層模型可以提供更好的性能,本系統(tǒng)中所采用的就是此種模型。包含了三層架構(gòu)里面的“實體規(guī)范層”、“行為規(guī)則層”、“數(shù)據(jù)訪問層”;控制器(Controller)用來收集view提供的用戶數(shù)據(jù),傳遞給model,同時返回model處理后的數(shù)據(jù)給view。model的設(shè)計可以參考三層架構(gòu)的設(shè)計方法,將實體、行為規(guī)則(業(yè)務(wù)邏輯)和數(shù)據(jù)訪問分開,在數(shù)據(jù)訪問上可以應(yīng)用orm框架。三層架構(gòu)同樣可以應(yīng)用orm框架。個人認(rèn)為三層架構(gòu)和mvc都是很好的設(shè)計方法,目的都是降低系統(tǒng)的耦合性,提高重用率,提高系統(tǒng)的可維護(hù)性,可以根據(jù)喜好進(jìn)行選擇。JDBC是JAVA應(yīng)用程序與數(shù)據(jù)庫的溝通橋梁。它提供了三項服務(wù)功能:一、與數(shù)據(jù)庫建立連接。二、將SQL語句傳遞給數(shù)據(jù)庫。三、從數(shù)據(jù)庫取得SQL語句的執(zhí)行結(jié)果。當(dāng)JDBC要與數(shù)據(jù)庫建立連接前,首先,它必須先取得連接此數(shù)據(jù)庫的JDBC驅(qū)動程序,Class.forName()即是在執(zhí)行此項工作。建立數(shù)據(jù)庫連接的第一步驟就是將JDBC驅(qū)動程序的類載入至JVM(JavaVirtualLMachine)中,本系統(tǒng)中利用java.lang.Class類內(nèi)的forName()靜態(tài)函數(shù)依據(jù)指定的類名稱,將JDBC驅(qū)動程序載入進(jìn)來。完成載入驅(qū)動程序的步驟后,必須使用java.sal.DriverManager類所提供的getConnection()靜態(tài)函數(shù),取得與數(shù)據(jù)庫間的連接對象。此連接對象的類類型為java.sal.Connection,必須通過它才能將SQL指令傳遞給數(shù)據(jù)庫,而執(zhí)行結(jié)果也需要通過連接對象來取得。當(dāng)取得連接對象后,還必須取得Statement對象才能對數(shù)據(jù)庫執(zhí)行SQL指令。Statement主要實現(xiàn)兩個功能:執(zhí)行SQL語句以及取得執(zhí)行結(jié)果。在java.sql.Statement的sql對象中執(zhí)行查詢或修改命令的函數(shù)后傳回的是一個ResultSet對象,這個對象提供了一個存取SQL執(zhí)行結(jié)果的管道,以便通過它將表格數(shù)據(jù)從數(shù)據(jù)庫中取出。每個Statement對象只能產(chǎn)生一個ResultSet對象。有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBCAPI,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBCAPI寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實現(xiàn)的接口。Java具有堅固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對話的方法。而JDBC正是作為此種用途的機制。數(shù)據(jù)庫的連接處理具體實現(xiàn)如下://建立JDBC——ODBC橋sun.jdbc.odbc.JdbcOdbcDriver;//橋建立不成功時的錯誤處理catch(ClassNotFoundExceptionevent){}//建立與數(shù)據(jù)庫的連接,并發(fā)送SQL查詢語句,將結(jié)果保存到rs對象中 Con=建立JDBC——ODBC橋 Sql=SQL查詢語句 執(zhí)行查詢 Rs=返回結(jié)果//SQL出錯處理 catch(SQLExceptione1){}JDBC是個"低級"接口,也就是說,它用于直接調(diào)用SQL命令。在這方面它的功能極佳,并比其它的數(shù)據(jù)庫連接API易于使用,但它同時也被設(shè)計為一種基礎(chǔ)接口,在它之上可以建立高級接口和工具。高級接口是"對用戶友好的"接口,它使用的是一種更易理解和更為方便的API,這種API在幕后被轉(zhuǎn)換為諸如JDBC這樣的低級接口。數(shù)據(jù)庫連接如圖3.3所示:建立JDBC-ODBC橋建立JDBC-ODBC橋否出錯處理否出錯處理建立是否成功建立是否成功是是建立數(shù)據(jù)庫連接建立數(shù)據(jù)庫連接執(zhí)行SQL操作執(zhí)行SQL操作否SQL是否出錯返回錯誤信息否SQL是否出錯返回錯誤信息是是返回執(zhí)行結(jié)果返回執(zhí)行結(jié)果圖圖3-3數(shù)據(jù)連接有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBCAPI,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBCAPI寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實現(xiàn)的接口。
Java具有堅固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對話的方法。而JDBC正是作為此種用途的機制。JDBC擴(kuò)展了Java的功能。例如,用Java和JDBCAPI可以發(fā)布含有applet的網(wǎng)頁,而該applet使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫企業(yè)也可以用JDBC通過Intranet將所有職員連到一個或多個內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計算機有Windows、Macintosh和UNIX等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java編程語言,對從Java中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。系統(tǒng)管理員們都喜歡Java和JDBC的結(jié)合,因為它使信息傳播變得容易和經(jīng)濟(jì)。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對于商務(wù)上的銷售信息服務(wù),Java和JDBC可為外部客戶提供獲取信息更新的更好方法。簡單地說,JDBC可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送SQL語句并處理結(jié)果。下列代碼段給出了以上三步的基本示例:Connectioncon=DriverManager.getConnection("jdbc:odbc:wombat","login","password");Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery("SELECTa,b,cFROMTable1");while(rs.next()){intx=rs.getInt("a");Strings=rs.getString("b");floatf=rs.getFloat("c");}上述代碼對基于JDBC的數(shù)據(jù)庫訪問做了經(jīng)典的總結(jié)。3.7BS模式與C/S模式的比較分析C/S模式主要由客戶應(yīng)用程序(Client)、服務(wù)器管理程序(Server)和中間件(middleware)三個部件組成??蛻魬?yīng)用程序是系統(tǒng)中用戶與數(shù)據(jù)進(jìn)行交互的部件。服務(wù)器程序負(fù)責(zé)有效地管理系統(tǒng)資源,如管理一個信息數(shù)據(jù)庫,其主要工作是當(dāng)多個客戶并發(fā)地請求服務(wù)器上的相同資源時,對這些資源進(jìn)行最優(yōu)化管理。中間件負(fù)責(zé)聯(lián)結(jié)客戶應(yīng)用程序與服務(wù)器管理程序,協(xié)同完成一個作業(yè),以滿足用戶查詢管理數(shù)據(jù)的要求。B/S模式是一種以Web技術(shù)為基礎(chǔ)的新型的電信系統(tǒng)平臺模式。把傳統(tǒng)C/S模式中的服務(wù)器部分分解為一個數(shù)據(jù)服務(wù)器與一個或多個應(yīng)用服務(wù)器(Web服務(wù)器),從而構(gòu)成一個三層結(jié)構(gòu)的客戶服務(wù)器體系。第一層客戶機是用戶與整個系統(tǒng)的接口。客戶的應(yīng)用程序精簡到一個通用的瀏覽器軟件,如Netscape
Navigator,微軟公司的IE等。瀏覽器將HTML代碼轉(zhuǎn)化成圖文并茂的網(wǎng)頁。網(wǎng)頁還具備一定的交互功能,允許用戶在網(wǎng)頁提供的申請表上輸入信息提交給后臺,并提出處理請求。這個后臺就是第二層的Web服務(wù)器。第二層Web服務(wù)器將啟動相應(yīng)的進(jìn)程來響應(yīng)這一請求,并動態(tài)生成一串HTML代碼,其中嵌入處理的結(jié)果,返回給客戶機的瀏覽器。如果客戶機提交的請求包括數(shù)據(jù)的存取,Web服務(wù)器還需與數(shù)據(jù)庫服務(wù)器協(xié)同完成這一處理工作。第三層數(shù)據(jù)庫服務(wù)器的任務(wù)類似于C/S模式,負(fù)責(zé)協(xié)調(diào)不同的Web服務(wù)器發(fā)出的SQ請求,管理數(shù)據(jù)庫。B/S最大的優(yōu)點就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件,只要有一臺能上網(wǎng)的電腦就能使用,客戶端零安裝、零維護(hù)。系統(tǒng)的擴(kuò)展非常容易。B/S結(jié)構(gòu)的使用越來越多,特別是由需求推動了AJAX技術(shù)的發(fā)展,它的程序也能在客戶端電腦上進(jìn)行部分處理,從而大大的減輕了服務(wù)器的負(fù)擔(dān);并增加了交互性,能進(jìn)行局部實時刷新。首先它簡化了客戶端。它無需象C/S模式那樣在不同的客戶機上安裝不同的客戶應(yīng)用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節(jié)省客戶機的硬盤空間與內(nèi)存,而且使安裝過程更加簡便、網(wǎng)絡(luò)結(jié)構(gòu)更加靈活。假設(shè)一個企業(yè)的決策層要開一個討論庫存問題的會議,他們只需從會議室的計算機上直接通過瀏覽器查詢數(shù)據(jù),然后顯示給大家看就可以了。甚至與會者還可以把筆記本電腦聯(lián)上會議室的網(wǎng)絡(luò)插口,自己來查詢相關(guān)的數(shù)據(jù)。其次,它簡化了系統(tǒng)的開發(fā)和維護(hù)。系統(tǒng)的開發(fā)者無須再為不同級別的用戶設(shè)計開發(fā)不同的客戶應(yīng)用程序了,只需把所有的功能都實現(xiàn)在Web服務(wù)器上,并就不同的功能為各個組別的用戶設(shè)置權(quán)限就可以了。各個用戶通過HTTP請求在權(quán)限范圍內(nèi)調(diào)用Web服務(wù)器上不同處理程序,從而完成對數(shù)據(jù)的查詢或修改。現(xiàn)代企業(yè)面臨著日新月異的競爭環(huán)境,對企業(yè)內(nèi)部運作機制的更新與調(diào)整也變得逐漸頻繁。相對于C/S,B/S的維護(hù)具有更大的靈活性。當(dāng)形勢變化時,它無須再為每一個現(xiàn)有的客戶應(yīng)用程序升級,而只需對Web服務(wù)器上的服務(wù)處理程序進(jìn)行修訂。這樣不但可以提高公司的運作效率,還省去了維護(hù)時協(xié)調(diào)工作的不少麻煩。如果一個公司有上千臺客戶機,并且分布在不同的地點,那么便于維護(hù)將會顯得更加重要。維護(hù)和升級方式簡單。當(dāng)前,軟件系統(tǒng)的改進(jìn)和升級越發(fā)頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對一個稍微大一點單位來說,系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。無論用戶的規(guī)模有多大,有多少分支機構(gòu)都不會增加任何維護(hù)升級的工作量,所有的操作只需要針對服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專網(wǎng)即可,實現(xiàn)遠(yuǎn)程維護(hù)、升級和共享。所以客戶機越來越“瘦”,而服務(wù)器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級和維護(hù)會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費用的節(jié)省是顯而易見的,驚人的。因此,維護(hù)和升級革命的方式是“瘦”客戶機,“胖”服務(wù)器。再次,它使用戶的操作變得更簡單。對于C/S模式,客戶應(yīng)用程序有自己特定的規(guī)格,使用者需要接受專門培訓(xùn)。而采用B/S模式時,客戶端只是一個簡單易用的瀏覽器軟件。無論是決策層還是操作層的人員都無需培訓(xùn),就可以直接使用。B/S模式的這種特性,還使系統(tǒng)維護(hù)的限制因素更少。最后,B/S特別適用于網(wǎng)上信息發(fā)布,使得傳統(tǒng)的電信的功能有所擴(kuò)展。這是C/S所無法實現(xiàn)的。而這種新增的網(wǎng)上信息發(fā)布功能恰是現(xiàn)代企業(yè)所需的。這使得企業(yè)的大部分書面文件可以被電子文件成本降低,選擇更多。大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是處于絕對的統(tǒng)治地位。當(dāng)前的趨勢是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,而且安全性高。所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用哪種操作系統(tǒng)都可以讓大部分人使用windows作為桌面電腦操作系統(tǒng)不受影響,這就使得最流行免費的Linux操作系統(tǒng)快速發(fā)展起來,Linux除了操作系統(tǒng)是免費的以外,連數(shù)據(jù)庫也是免費的,這種選擇非常盛行。比如說很多人每天上“新浪”網(wǎng),只要安裝了瀏覽器就可以了,并不需要了解“新浪”的服務(wù)器用的是什么操作系統(tǒng),而事實上大部分網(wǎng)站確實沒有使用windows操作系統(tǒng),但用戶的電腦本身安裝的大部分是windows操作系統(tǒng)。取代,從而提高了企業(yè)的工作效率,使企業(yè)行政手續(xù)簡化,節(jié)省人力物力。鑒于B/S相對于C/S的先進(jìn)性,B/S逐漸成為一種流行的電信系統(tǒng)平臺。各軟件公司紛紛推出自己的Internet方案,基于Web的財務(wù)系統(tǒng)、基于Web的ERP。一些企業(yè)已經(jīng)領(lǐng)先一步開始使用它,并且收到了一定的成效。B/S模式的新穎與流行,和在某些方面相對于C/S的巨大改進(jìn),使B/S成了電信系統(tǒng)平臺的首選。4.系統(tǒng)分析和項目開發(fā)計劃4.1系統(tǒng)分析開發(fā)一個系統(tǒng),首先要進(jìn)行系統(tǒng)分析。其主要任務(wù)是確定系統(tǒng)的規(guī)模和范圍,確定軟件的總體要求以及所需要的硬件環(huán)境和支撐軟件平臺、確定待開發(fā)軟件與外界的接口,確定軟件對操作系統(tǒng)的要求,以及待開發(fā)軟件總體上的約束和限制。系統(tǒng)分析有助于弄清所需開發(fā)的軟件、硬件環(huán)境、支撐軟件和操作人員的要求。要求主要功能有:自助服務(wù)登錄:驗證客戶身份的有效性,賬號為手機號碼,密碼為6位手機服務(wù)密碼。個人信息管理:為客戶提供查看和修改個人基本資料信息的服務(wù),包括客戶名稱、通信地址和郵編、郵箱地址、聯(lián)系電話等。業(yè)務(wù)辦理:對客戶提供各種產(chǎn)品的功能介紹和進(jìn)行業(yè)務(wù)在線申請、變更等操作。話費查詢:對客戶提供話費相關(guān)信息的查詢,如本月話費詳情等。手機歸屬地查詢:對客戶輸入的手機號碼進(jìn)行識別,顯示其注冊地址(詳細(xì)到市/縣)。投訴與建議:歡迎客戶對我們的服務(wù)提出寶貴意見并對我們的不周之處提出批評。學(xué)習(xí)了中國移動對移動用戶實施優(yōu)質(zhì)服務(wù)的落實辦法,在營業(yè)廳實踐規(guī)?;瘍?yōu)質(zhì)服務(wù)接受廣大用戶咨詢向電信用戶的解釋有關(guān)受費及相關(guān)問題。電信管理信息系統(tǒng)旨在提供一個全面的信息加工處理進(jìn)一步利用的工具,以提高管理水平。在系統(tǒng)開發(fā)之前,必須了解該系統(tǒng)的特點、適用范圍以及使用者需要一個什么樣的系統(tǒng),以此作為基礎(chǔ)為開發(fā)系統(tǒng)準(zhǔn)確定位,然后對使用者所需實現(xiàn)的功能進(jìn)行分析總結(jié),根據(jù)使用者的實際要求來給系統(tǒng)設(shè)計一個初步方案。系統(tǒng)的開發(fā)不僅是要實現(xiàn)對數(shù)據(jù)處理的及時與正確,而且要考慮系統(tǒng)是否具有控制功能,及時將數(shù)據(jù)反饋給操作者,以進(jìn)行監(jiān)測和協(xié)調(diào),保證系統(tǒng)的正常運行;也要考慮是否具有預(yù)測功能,運用一定的數(shù)學(xué)方法利用歷史的數(shù)據(jù)對未來進(jìn)行預(yù)測的工作。電信管理信息系統(tǒng)的開發(fā)是一項復(fù)雜的系統(tǒng)工程,必須嚴(yán)格的按照系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實施、系統(tǒng)運行與評價的開發(fā)步驟來進(jìn)行。進(jìn)行了大規(guī)模的業(yè)務(wù)學(xué)習(xí)后,得出系統(tǒng)性的分析。然后進(jìn)行功能劃分。從用戶和管理員角度考慮問題:電信網(wǎng)上營業(yè)廳作為特殊的信息系統(tǒng),用戶的持續(xù)使用行為同樣重要。現(xiàn)有的研究表明顧客感知價值是用戶持續(xù)使用行為最重要的影響因素。其中框架大致差不多。隨著電信市場的逐步開放,一些世界級的電信巨頭正通過多種手段逐步滲透到中國電信市場,國內(nèi)電信運營商正面對一個全新的、更加激烈的市場競爭環(huán)境。這就要求電信運營商開始采取以“客戶為中心”的策略,根據(jù)客戶的實際需求提供個性化的服務(wù)解決方案,因此必須根據(jù)客戶的特點對客戶進(jìn)行細(xì)分管理分析。所以,從以下幾點分析:一是依據(jù)自然屬性細(xì)分客戶,主要是利用客戶的年齡、職業(yè)、地區(qū)、業(yè)務(wù)品牌等靜態(tài)數(shù)據(jù)來細(xì)分客戶;二是依據(jù)行為屬性細(xì)分客戶,主要是通過客戶的通話、短信消費行為等動態(tài)數(shù)據(jù)來細(xì)分客戶。對客戶進(jìn)行了細(xì)分和研究后,功能模塊圖如圖4-1所示:手機網(wǎng)上營業(yè)廳自助服務(wù)系統(tǒng)手機網(wǎng)上營業(yè)廳自助服務(wù)系統(tǒng)用戶管理員在線電話(選)手機歸屬地查詢話費查詢業(yè)務(wù)辦理個人信息查看個人信息修改投訴與建議業(yè)務(wù)管理注冊用戶管理用戶已辦業(yè)務(wù)管理話費管理投訴與建議管理系統(tǒng)用戶管理圖4-1功能模塊圖圖4-1功能模塊圖4.2項目開發(fā)計劃經(jīng)過詳細(xì)的分析后,我們一致認(rèn)為這是一項具有開發(fā)價值的軟件,接下來的工作就是編制項目開發(fā)計劃。通過對有關(guān)人員的統(tǒng)一調(diào)查,并吸取他們的意見、見解,要求系統(tǒng)需要有以下功能:1.要求有良好的人機界面。良好的人機界面是衡量一個系統(tǒng)易用性的重要標(biāo)準(zhǔn)之一。所以本系統(tǒng)的界面要求簡潔明了,使管理人員能迅速地就可以掌握系統(tǒng)的使用。2.要設(shè)置使用權(quán)限,以提高軟件的安全性。3.對原始數(shù)據(jù)的修改簡單方便.修改也和其它系統(tǒng)一樣包括基本的修改、刪除和保存以及查詢等。要求對數(shù)據(jù)能進(jìn)行查詢、統(tǒng)計。查詢要求能以最快的速度找到所需數(shù)據(jù),以達(dá)到方便管理的目的。統(tǒng)計要求能根據(jù)犯人信息、等進(jìn)行統(tǒng)計。讓軟件更具靈活性。4.3處理流程設(shè)計4.3.1數(shù)據(jù)增加流程添加信息時,編號字段由系統(tǒng)自動生成,且不能修改,其他信息由用戶輸入,之后對數(shù)據(jù)進(jìn)行合法判斷,合法則寫入保存至數(shù)據(jù)庫,不合法則重新輸入數(shù)據(jù)。數(shù)據(jù)增加流程圖如4-2所示。開始開始自動生成編號輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束圖圖4-2數(shù)據(jù)增加流程圖4.3.2數(shù)據(jù)修改流程在修改信息時,先選中一條待修改的記錄,然后直接輸入數(shù)據(jù),判斷合法性,合法則保存至數(shù)據(jù)庫,不合法重新輸入。數(shù)據(jù)修改流程圖如圖4-3所示。圖4-3圖4-3數(shù)據(jù)修改流程圖開始選擇需要修改記錄輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束4.3.3數(shù)據(jù)刪除流程當(dāng)用戶選定一條記錄時,單擊刪除按鈕,會提示用戶是否確定刪除,然后刪除數(shù)據(jù)庫相關(guān)內(nèi)容。數(shù)據(jù)刪除流程圖如圖4-4所示。圖4-4數(shù)據(jù)刪除流程圖圖4-4數(shù)據(jù)刪除流程圖開始選擇需要刪除記錄是否刪除更新數(shù)據(jù)庫4.4系統(tǒng)E-R圖密碼用戶名用戶名密碼密碼用戶名用戶名密碼管理員會員管理員會員注銷退出注銷退出注銷退出注銷退出操作操作管理手機查詢管理手機查詢業(yè)務(wù)管理業(yè)務(wù)管理會員管理信息話費查詢信息會員管理信息話費查詢信息系統(tǒng)用戶管理投訴管理話費管理已辦業(yè)務(wù)管理投訴建議修改信息業(yè)務(wù)辦理系統(tǒng)用戶管理投訴管理話費管理已辦業(yè)務(wù)管理投訴建議修改信息業(yè)務(wù)辦理圖圖4-5系統(tǒng)ER圖5.詳細(xì)設(shè)計5.1用戶登陸登陸時,首先出現(xiàn)的是一個用戶權(quán)限登陸的界面,權(quán)限設(shè)置主要是維護(hù)系統(tǒng)的安全性和完整性,只有輸入正確的用戶名和密碼才能進(jìn)行操作。代碼如下:publicclassAdminListBean{ SelectBeansb=newSelectBean();//新建一個SelectBean()類 publicArrayListgetAdminList(){ Stringsql="select*fromadmin";//SQL語句 Stringargs[]={"id","name","pwd","popedom"}; ArrayListal=sb.select(sql,args); returnal;//返回結(jié)果 }}5.2個人信息管理為客戶提供查看和修改個人基本資料信息的服務(wù),包括客戶名稱、通信地址和郵編、郵箱地址、聯(lián)系電話等。publicclassAllBean{ SelectBeansb=newSelectBean(); ArrayListal=null; publicArrayListgetUsers(){ Stringsql="select*fromusersorderbyiddesc";//降序搜索 Stringargs[]={"id","name","age","sex","phone","address","yearcard","begindate","enddate","amount","loss"}; al=sb.select(sql,args); returnal; } publicArrayListgetUsers(Stringid){ Stringsql="select*fromuserswhereid="+id; Stringargs[]={"id","name","age","sex","phone","address","yearcard","begindate","enddate","amount","loss"}; al=sb.select(args,sql); returnal; } publicArrayListgetUsersId(Stringid){ Stringsql="select*fromuserswhereid="+id; Stringargs[]={"id","name","age","sex","phone","address","yearcard","begindate","enddate","amount","loss"};//查詢id,姓名,年齡等數(shù)據(jù)庫中的結(jié)果 al=sb.select(sql,args); returnal; } publicArrayListgetUsersName(Stringname){ Stringsql="select*fromuserswherenamelike'%"+name+"%'orderbyiddesc";//降序搜索結(jié)果集合 Stringargs[]={"id","name","age","sex","phone","address","yearcard","begindate","enddate","amount","loss"}; al=sb.select(sql,args); returnal; } publicArrayListgetItem(){ Stringsql="select*fromitemorderbyiddesc"; Stringargs[]={"id","name","price"};//定義id,name,price al=sb.select(sql,args); returnal; } publicArrayListgetItem(Stringid){ Stringsql="select*fromitemwhereid="+id; Stringargs[]={"id","name","price"};//定義id,name,price al=sb.select(args,sql); returnal; } publicArrayListgetYearcard(){ Stringsql="select*fromyearcardwhereid=1"; Stringargs[]={"id","price"};//定義id,price數(shù)組 al=sb.select(args,sql); returnal; } publicArrayListgetFlaw(Stringid){ Stringsql="select*fromflawwhereid="+id; Stringargs[]={"id","softwareid","usersid","content","reason","restoration","times"};//搜索id,softwarid,userid等字段 al=sb.select(args,sql); returnal; }5.3業(yè)務(wù)辦理對客戶提供各種產(chǎn)品的功能介紹和進(jìn)行業(yè)務(wù)在線申請、變更等操作。代碼如下:publicclassSelectBean{ //建立連接 Connectionconn=null; Statementst=null; ResultSetrs=null; publicArrayListselect(Stringsql,String[]args){ ArrayListal=newArrayList(); conn=DBConn.getConn(); try{ st=conn.createStatement(); rs=st.executeQuery(sql); while(rs.next()){ ArrayListalRow=newArrayList(); for(inti=0;i<args.length;i++){ alRow.add(rs.getString(args[i])); } al.add(alRow); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ DBConn.close(conn,st,rs); } returnal; } publicArrayListselect(String[]args,Stringsql){ ArrayListal=newArrayList(); conn=DBConn.getConn(); try{ st=conn.createStatement(); rs=st.executeQuery(sql); rs.next(); for(inti=0;i<args.length;i++){ al.add(rs.getString(args[i])); } }catch(SQLExceptione){ }finally{ DBConn.close(conn,st,rs); } returnal; }}5.4話費查詢對客戶提供話費相關(guān)信息的查詢,如本月話費詳情等。代碼如下:publicclassInsertUpdateDelBean{ Connectionconn=null; Statementst=null; ResultSetrs=null; /*插入功能*/ publicintinsertANDupdateANDdel(Stringsql){ inttemp=0; conn=DBConn.getConn(); try{ st=conn.createStatement(); temp=st.executeUpdate(sql); }catch(SQLExceptione){ e.printStackTrace(); temp=-1; }finally{ DBConn.close(conn,st,rs); } returntemp; }}5.5手機歸屬地查詢對客戶輸入的手機號碼進(jìn)行識別,顯示其注冊地址(詳細(xì)到市/縣)。代碼如下:/*手機歸屬地查詢*/publicclassAmountServletextendsHttpServlet{ publicAmountServlet(){ super(); } publicvoiddestroy(){ super.destroy(); } publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ doPost(request,response); }5.6投訴與建議界面顯示:歡迎客戶對我們的服務(wù)提出寶貴意見并對我們的不周之處提出批評。代碼如下:publicclassRemoveServletextendsHttpServlet{ publicRemoveServlet(){ super(); } publicvoiddestroy(){ super.destroy(); } publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ doPost(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ Stringmark=request.getParameter("mark");//得到mark標(biāo)記 Stringstr=""; HttpSessionsession=request.getSession(); if(mark!=null&&mark.equals("user")){ session.removeAttribute("userlogin"); str="/users/index.jsp";//返回首頁 }6.系統(tǒng)調(diào)試與測試6.1程序調(diào)試程序調(diào)試,是將編制的程序投入實際運行前,用手工或編譯程序等方法進(jìn)行測試,修正語法錯誤和邏輯錯誤的過程。這是保證計算機信息系統(tǒng)正確性的必不可少的步驟。編完計算機程序,必須送入計算機中測試。根據(jù)測試時所發(fā)現(xiàn)的錯誤,進(jìn)一步診斷,找出原因和具體的位置進(jìn)行修正。圖圖6-1用戶登陸頁面圖圖6-2話費查詢頁面圖圖6-3歸屬地查詢頁面圖圖6-4業(yè)務(wù)辦理頁面圖圖6-5用戶資料頁面圖圖6-6密碼修改頁面圖6-7圖6-7投訴建議頁面圖6-8圖6-8注冊用戶管理頁面圖圖6-9用戶業(yè)務(wù)管理頁面6.2程序的測試6.2.1測試的重要性及目的1.測試的重要性測試是什么?測試就是對項目開發(fā)過程的產(chǎn)品(編碼、文檔等)進(jìn)行差錯審查,保證其質(zhì)量的一種過程。
軟件的測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學(xué)僅處于運行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來,軟件工程界趨向于一種新的觀點,即認(rèn)為軟件生命周期每一階段中都應(yīng)包含測試,從而檢驗本階段的成果是否接近預(yù)期的目標(biāo),盡可能早的發(fā)現(xiàn)錯誤并加以修正,如果不在早期階段進(jìn)行測試,錯誤的延時擴(kuò)散常常會導(dǎo)致最后成品測試的巨大困難。軟件質(zhì)量是由幾個方面來衡量的:一、在正確的時間用正確的的方法把一個工作做正確(Doingtherightthingsrightattherighttime)。二、符合一些應(yīng)用標(biāo)準(zhǔn)的要求,比如不同國家的用戶不同的操作習(xí)慣和要求,項目工程中的可維護(hù)性、可測試性等要求。三、質(zhì)量本身就是軟件達(dá)到了最開始所設(shè)定的要求,而代碼的優(yōu)美或精巧的技巧并不代表軟件的高質(zhì)量(Qualityisdefinedasconformancetorequirements,notas“goodness”or“elegance”)。四、質(zhì)量也代表著它符合客戶的需要(Qualityalsomeans“meetcustomerneeds”)。軟件測試的意思,不僅是要去測試開發(fā)人員正確的設(shè)計了軟件,還包括他們設(shè)計的軟件是正確的,滿足客戶需求的。測試人員和開發(fā)人員的角度是不同的,測試應(yīng)該有一個全局的觀點,而且要從客戶的角度出發(fā).這一點應(yīng)該是最重要的。作為軟件測試這個行業(yè),最重要的一件事就是從客戶的需求出發(fā),從客戶的角度去看產(chǎn)品,客戶會怎么去使用這個產(chǎn)品,使用過程中會遇到什么樣的問題。只有這些問題都解決了,軟件產(chǎn)品的質(zhì)量才可以說是上去了。事實上,對于軟件來講,不論采用什么技術(shù)和什么方法,軟件中仍然會有錯。采用新的語言、先進(jìn)的開發(fā)方式、完善的開發(fā)過程,可以減少錯誤的引入,但是不可能完全杜絕軟件中的錯誤,這些引入的錯誤需要測試來找出,軟件中的錯誤密度也需要測試來進(jìn)行估計。測試是所有工程學(xué)科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設(shè)計的那天起測試就一直伴隨著。統(tǒng)計表明,在典型的軟件開發(fā)項目中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30%到50%。如果把維護(hù)階段也考慮在內(nèi),討論整個軟件生存期時,測試的成本比例也許會有所降低,但實際上維護(hù)工作相當(dāng)于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測試工作。在實踐中,軟件測試的困難常常使人望而卻步或敷衍了事,這是由于對測試仍然存在一些不正確的看法和錯誤的態(tài)度,這包括:①認(rèn)為測試工作不如設(shè)計和編碼那樣容易取得進(jìn)展難以給測試人員某種成就感;②以發(fā)現(xiàn)軟件錯誤為目標(biāo)的測試是非建設(shè)性的,甚至是破壞性的,測試中發(fā)現(xiàn)錯位是對責(zé)任者工作的一種否定;③測試工作枯燥無味,不能引起人們的興趣;④測試工作是艱苦而細(xì)致的工作;⑤對自己編寫的程序盲目自信,在發(fā)現(xiàn)錯誤后,顧慮別人對自己的開發(fā)能力的看法。這些觀點對軟件測試工作是極為不利的,必須澄清認(rèn)識、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。2.測試的目的如果測試的目的是為了盡可能多地找出錯誤,那么測試就應(yīng)該直接針對軟件比較復(fù)雜的部分或是以前出錯比較多的位置。①軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;②測試是為了證明程序有錯,而不是證明程序無錯誤;③一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;④一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。這種觀點可以提醒人們測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點可能會產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯誤是軟件測試的唯一目,查找不出錯誤的測試就是沒有價值的,事實并非如此。首先,測試并不僅僅是為了要找出錯誤。通過分析錯誤產(chǎn)生的原因和錯誤的分布特征,可以幫助項目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進(jìn)。同時,這種分析也能幫助我們設(shè)計出有針對性地檢測方法,改善測試的有效性。其次,沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定測試質(zhì)量的一種方法。6.2.2測試的步驟與開發(fā)過程類似,測試過程也必須分步驟進(jìn)行,每個步驟在邏輯上是前一個步驟的繼續(xù)。大型軟件系統(tǒng)通常由若干個子系統(tǒng)組成,每個子系統(tǒng)又由若干個模塊組成。因此,大型軟件系統(tǒng)的測試基本上由下述幾個步驟組成:1.模塊測試:在這個測試步驟中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計的錯誤。2.系統(tǒng)測試:在這個測試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計中的錯誤,也可能發(fā)現(xiàn)需求說明中的錯誤。3.驗收測試:在這個測試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯誤。其中全部測試過程為:需求分析--測試計劃--測試方案--測試用例--執(zhí)行測試--缺陷記錄--測試報告。6.2.3測試的主要內(nèi)容為了保證測試的質(zhì)量,將測試過程分成幾個階段,即:代碼審查、單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試。1.單元測試單元測試集中在檢查軟件設(shè)計的最小單位—模塊上,通過測試發(fā)現(xiàn)實現(xiàn)該模塊的實際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯誤。2.集成測試集成測試是將模塊按照設(shè)計要求組裝起來同時進(jìn)行測試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。如一個模塊與另一個模塊可能有由于疏忽的問題而造成有害影響;把子功能組合起來可能不產(chǎn)生預(yù)期的主功能;個別看起來是可以接受的誤差可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯誤等。3.確認(rèn)測試確認(rèn)測試的目的是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗證軟件的有效性,這就是確認(rèn)測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。4.系統(tǒng)測試軟件開發(fā)完成以后,最終還要與系統(tǒng)中其他部分配套運行,進(jìn)行系統(tǒng)測試。包括恢復(fù)測試、安全測試、強度測試和性能測試等。單獨對系統(tǒng)的測試主要從以下幾方面入手:①功能測試:測試是否滿足開發(fā)要求,是否提供設(shè)計所描述的功能,是否用戶的需求都得到滿足。功能測試是系統(tǒng)測試最常用和必須的測試,通常還會以正式的軟件說明書為測試標(biāo)準(zhǔn)。②強度測試及性能測試:測試系統(tǒng)能力最高實際限度,即軟件在一些超負(fù)荷情況下功能實現(xiàn)的情況。③安全測試:驗證安裝在系統(tǒng)內(nèi)的保護(hù)機構(gòu)確實能夠?qū)ο到y(tǒng)進(jìn)行保護(hù),使之不受各種非常的干擾。針對本系統(tǒng)主要是對權(quán)限系統(tǒng)的測試和對無效數(shù)據(jù)、錯數(shù)據(jù)、和非法數(shù)據(jù)干擾的能力的測試。經(jīng)過上述的測試過程對軟件進(jìn)行測試后,軟件基本滿足開發(fā)的要求,測試宣告結(jié)束。結(jié)論短暫的實習(xí)結(jié)束了,設(shè)計的功能基本符合用戶需求。對于數(shù)據(jù)的一致性的問題也通過程序進(jìn)行了有效的解決。該系統(tǒng)還有許多不盡如人意的地方,在今后有待進(jìn)一步改善。通過這次畢業(yè)設(shè)計真切地體會到畢業(yè)設(shè)計的目的并不止于自己單純?nèi)蝿?wù)的完成,而在于學(xué)習(xí)新的知識并掌握具體的方法,如何具體使用和具體應(yīng)用你所學(xué)所用的語言。從而獲得一種本領(lǐng):就是融會貫通各種語言?;厥渍麄€開發(fā)設(shè)計過程,我學(xué)到了很多書本上學(xué)不到的東西。在整個畢業(yè)設(shè)計過程中,我基本上完成了網(wǎng)上營業(yè)廳業(yè)務(wù)辦理的設(shè)計與實現(xiàn),達(dá)到了畢業(yè)設(shè)計的要求。界面設(shè)計還有進(jìn)一步改善的地方,我會在今后的學(xué)習(xí)工作中著重加強這方面的鍛煉。在以后的工作中,還會遇到很多類似的情況,此次畢業(yè)設(shè)計為我以后的工
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人房產(chǎn)交易稅費收據(jù)模板制作服務(wù)協(xié)議2篇
- 教育技術(shù)在培養(yǎng)學(xué)生自主學(xué)習(xí)能力中的作用與挑戰(zhàn)
- 2025年度魚塘承包與漁業(yè)信息化管理合作協(xié)議4篇
- 未來教育的趨勢以小學(xué)科學(xué)教學(xué)中的項目式學(xué)習(xí)為例談科技教育的長遠(yuǎn)影響
- 二零二五年度車庫房租賃與車位租賃及物業(yè)管理合同4篇
- 現(xiàn)代科技在農(nóng)村房屋墻體材料優(yōu)化中的應(yīng)用
- 2025版?zhèn)€人二手房交易合同含房屋質(zhì)量保證承諾
- 二零二五年度木工欄桿安裝工程勞務(wù)分包及綠色認(rèn)證合同4篇
- 探索星系間的聯(lián)系解開宇宙的秘密線索
- 杭州浙江杭州市丁信中學(xué)編外招聘筆試歷年參考題庫附帶答案詳解
- 創(chuàng)新者的窘境讀書課件
- 綜合素質(zhì)提升培訓(xùn)全面提升個人綜合素質(zhì)
- 如何克服高中生的社交恐懼癥
- 聚焦任務(wù)的學(xué)習(xí)設(shè)計作業(yè)改革新視角
- 淋巴瘤患者的護(hù)理
- 移動商務(wù)內(nèi)容運營(吳洪貴)任務(wù)三 APP的品牌建立與價值提供
- 電子競技范文10篇
- 食堂服務(wù)質(zhì)量控制方案與保障措施
- VI設(shè)計輔助圖形設(shè)計(2022版)
- 眼科學(xué)??己喆痤}
- 物料分類帳的應(yīng)用
評論
0/150
提交評論