




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
太原理工大學(xué)畢業(yè)設(shè)計(論文)用紙引言隨著城市建設(shè)的飛速發(fā)展,生活節(jié)奏的加快,城市對公交系統(tǒng)的完善性和節(jié)奏性的要求是越來越高。而政府在這方面的投入是越來越大,城市內(nèi)部、城鄉(xiāng)間的公交系統(tǒng)日趨完善,可以說是一周一小變,半月一大變,使得原有的公交系統(tǒng)不斷更新,導(dǎo)致市民無法從舊有的公交指南圖上看到現(xiàn)在的公交系統(tǒng)的信息,從而引生了很多麻煩。隨著計算機技術(shù)的不斷發(fā)展,計算機應(yīng)用于各大領(lǐng)域,并給人們的生活帶來了極大的便利,在公交查詢系統(tǒng)亦是如此。以往的紙質(zhì)公交指南或繁雜的網(wǎng)絡(luò)版公交指南,都在不同程序上限制了市民出行的方便性。本論文所介紹的便是一個公交查詢系統(tǒng),以方便市民用最簡約的方式,查詢到最有用的公交信息。Internet是世界上最大的計算機互聯(lián)網(wǎng)絡(luò)。所謂計算機網(wǎng)絡(luò),就是一個網(wǎng)絡(luò)系統(tǒng),其目的是使計算機之間傳送信息,共享數(shù)據(jù)、信息等資源,通過把不同地方的計算機和其專用外設(shè)用通信路徑聯(lián)系在一起,其特點是規(guī)模大、功能強。它是新世紀(jì)通信與計算機技術(shù)相結(jié)合的結(jié)晶。而Internet連接著世界各地數(shù)以千萬計大大小小的電腦網(wǎng)絡(luò)和主機,是世界上最開放的計算機網(wǎng)絡(luò)。本公交查詢系統(tǒng)目標(biāo)是方便市民進行公交信息查詢,并且要做到信息不滯后,其主要思想是做到系統(tǒng)管理的人性化,數(shù)據(jù)處理的可靠性,可維護性,以及程序的健壯性。系統(tǒng)采用JSP編程語言,SQLSERVER2005為數(shù)據(jù)庫。本論文主要涉及軟件,數(shù)據(jù)庫與網(wǎng)絡(luò)技術(shù)等。涵蓋知識面廣,可有效地提高學(xué)生綜合運用所學(xué)知識分析解決問題的能力,增強學(xué)生對事物的理解與掌握能力,培養(yǎng)學(xué)生掌握科學(xué)的研究方法,正確的設(shè)計思想,獨立思考,勇于進取,探索創(chuàng)新,為今后進一步學(xué)習(xí)與工作奠定了良好的基礎(chǔ)。2系統(tǒng)分析2.1功能需求分析要設(shè)計一個良好的公交查詢系統(tǒng),就必須首先明確該應(yīng)用環(huán)境對系統(tǒng)的要求。公交查詢系統(tǒng)的應(yīng)用背景為:方便市民搭乘公交車出行;手動(目前)、自動(將來)、及時更新查詢數(shù)據(jù)。因此,該系統(tǒng)需滿足以下幾方面需求:1、查詢功能:系統(tǒng)需要提供幾種不同方式的查詢手段,以實現(xiàn)靈活方便地管理整個系統(tǒng)。2、數(shù)據(jù)的更新修改:更新:系統(tǒng)允許管理員級別的用戶對數(shù)據(jù)進行更新、修改并且存盤操作;編輯:系統(tǒng)允許管理員級別的用戶對數(shù)據(jù)進行編輯、刪除的操作,保證現(xiàn)庫的真實性與實時性。系統(tǒng)采用B/S模式。軟件設(shè)計的前提是需要一個強大的數(shù)據(jù)庫,而軟件操作界面操作需要和數(shù)據(jù)庫系統(tǒng)的連接來完成,軟件系統(tǒng)和數(shù)據(jù)庫之間相互進行數(shù)據(jù)傳輸及顯示和操作,由此可見數(shù)據(jù)庫在設(shè)計中的重要地位,如圖2-1所示。業(yè)務(wù)服務(wù)器業(yè)務(wù)服務(wù)器數(shù)據(jù)庫服務(wù)器事務(wù)邏輯數(shù)據(jù)邏輯ClientBrowser表示邏輯Browser表示邏輯JSP網(wǎng)頁WWW服務(wù)器/業(yè)務(wù)邏輯服務(wù)器JavaBean組件中間件JDBC數(shù)據(jù)庫服務(wù)器數(shù)據(jù)庫SQLServer2000圖2-1系統(tǒng)模式圖系統(tǒng)采用三層結(jié)構(gòu),1:客戶端:使用瀏覽器完成數(shù)據(jù)下載和模擬操作;2:瀏覽器端口:JSP網(wǎng)頁負責(zé)完成瀏覽器端功能;3:JavaBean負責(zé)系統(tǒng)內(nèi)部的一系列操作,而此組件在WEB服務(wù)器上運行,然后將響應(yīng)結(jié)果利用JSP頁面返還給客戶瀏覽器。那么如何增強系統(tǒng)的可維護性,以及可擴充性?在Java編程中,訪問數(shù)據(jù)庫可利用JDBC來實現(xiàn)。為了使網(wǎng)頁通俗易懂,簡潔快速,通過把兩個邏輯,表現(xiàn)邏輯與業(yè)務(wù)邏輯的分離,配合在服務(wù)器端利用JDBC訪問,而數(shù)據(jù)庫的服務(wù)器定義了本系統(tǒng)所要求的邏輯,包括數(shù)據(jù)邏輯和事務(wù)邏輯。本系統(tǒng)使用JSP技術(shù)作為表現(xiàn)手段,服務(wù)器采用Tomcat5.0.3作為JSP引擎,系統(tǒng)業(yè)務(wù)邏輯由JavaBean組件完成,使用JDBC驅(qū)動程序訪問數(shù)據(jù)庫。由于數(shù)據(jù)庫在設(shè)計中的重要地位,以及方便此后編寫及測試,因此系統(tǒng)采用SQLSERVER2005數(shù)據(jù)庫作為數(shù)據(jù)庫服務(wù)器。2.2本系統(tǒng)采用的關(guān)鍵技術(shù)2.2.1JSP技術(shù)JSP是由Sun微系統(tǒng)公司于1999年6月推出的一項技術(shù),是基于JavaServlet以及整個Java體系的Web開發(fā)技術(shù),利用這一技術(shù)可以建立先進、安全和跨平臺的動態(tài)網(wǎng)站。JSP技術(shù)在多個方面加速了動態(tài)Web頁面的開發(fā)。與微軟公司的ASP技術(shù)相比,JSP具有如下優(yōu)點:(1)廣泛的技術(shù):JSP技術(shù)基于平臺和服務(wù)器的相互獨立,技術(shù)支持來自遼闊的、專一的、種類繁多的工具包,有而開發(fā)需求人提供服務(wù)器組件及數(shù)據(jù)庫等相關(guān)服務(wù)。而對于ASP來說,其主要依賴微軟支持,跨平臺受局限;(2)平臺和服務(wù)器的獨立性:在編程環(huán)境中,由于JSP代碼與JAVA語言的相通性,可使其代碼良好運行在JAVA環(huán)境中。正是由于這一特性,JSP就不受平臺限制,可在多種服務(wù)器中運行,接受廣泛的工具包支持;(3)開放的開發(fā)過程:由于JSP是開源的,1995年,SUN公司開始跟國際JAVA組織合作,并商討,最終修改JAVA方面的規(guī)范,這一信息使JSP技術(shù)開始蓬勃發(fā)展;(4)JSP標(biāo)記可擴充性:盡管ASP和JSP都使用標(biāo)簽與腳本技術(shù)來制作動態(tài)Web網(wǎng)頁,JSP技術(shù)允許開發(fā)者擴展JSP標(biāo)簽,定制JSP標(biāo)簽庫,所以網(wǎng)頁制作者充分利用與XML兼容的標(biāo)簽技術(shù)強大的功能,大大減少對腳本語言的依賴.由于定制標(biāo)簽庫,從而使網(wǎng)頁簡潔易編;(5)JSP跨平臺可重用性:JSP組件(EJB,JavaBean或定制的JSP標(biāo)簽)都是不受平臺限制可重復(fù)使用的。2.2.2JavaBean技術(shù)JSP作為一個不受平臺限制的動態(tài)網(wǎng)站開發(fā)語言得到了越來越廣泛的應(yīng)用,在繁多的JSP應(yīng)用程序中,JSP+JavaBean的搭配逐漸成為了JSP常用程序的標(biāo)準(zhǔn).JavaBean是一種軟件組件模型,它是用來描述JAVA的,有點類似于微軟中的COM組件。在Java模型中,通過JavaBean可以無限擴充Java程序的功能,正式由于這個有點,程序員可以通過他快速編寫新程序,實現(xiàn)代碼的重復(fù)使用。JavaBean的優(yōu)點還在于程序的可維護性中。JavaBean通過Java虛擬機(JavaVirtualMachine)可以得到正確的執(zhí)行,不受平臺限制。一個JavaBean有三個部分組成:1.屬性(Property)Bean的屬性不只是面向?qū)ο罄锏膶傩?,還添加了屬性讀取和設(shè)置的API支持。每個JavaBean屬性通常都應(yīng)該遵循簡單的方法命名規(guī)則,這樣應(yīng)用程序構(gòu)造器工具和最終用戶才能找到JavaBean提供的屬性,然后查詢或修改屬性值,對bean進行操作。JavaBean還可以對屬性值的改變作出及時的反應(yīng)。比如一個顯示當(dāng)前時間的JavaBean,如果改變時鐘的時區(qū)屬性,則時鐘會立即重畫,顯示當(dāng)前指定時區(qū)的時間。2.方法(Method) JavaBean中的方法就是通常的Java方法,它可以從其他組件或在腳本環(huán)境中調(diào)用。默認(rèn)情況下,所有bean的公有方法都可以被外部調(diào)用,但bean一般只會引出其公有方法的一個子集。3.事件(Event) Bean與其他軟件組件交流信息的主要方式是發(fā)送和接受事件。我們可以將bean的事件支持功能看作是集成電路中的輸入輸出引腳:工程師將引腳連接在一起組成系統(tǒng),讓組件進行通訊。有些引腳用于輸入,有些引腳用于輸出,相當(dāng)于事件模型中的發(fā)送事件和接收事件。2.2.3JDBC技術(shù)JDBC是Java的開發(fā)者——Sun公司JavaDataBaseConnectivity技術(shù)的簡稱,是連接數(shù)據(jù)庫的技術(shù)。JDBC在Web和Internet應(yīng)用程序中的作用和ODBC在Windows系列平臺應(yīng)用程序中的作用類似。JDBC有一個特性,從而可以使得系統(tǒng)模塊化。利用一下四個主要組件:Java的應(yīng)用程序、JDBC驅(qū)動器管理器、驅(qū)動器和數(shù)據(jù)源可以完成對數(shù)據(jù)庫的訪問。簡單地說,JDBC能完成下列三件事:同一個數(shù)據(jù)庫建立連接;向數(shù)據(jù)庫發(fā)送SQL語句;處理數(shù)據(jù)庫返回的結(jié)果。JDBC是一種允許JAVA與SQL數(shù)據(jù)庫對話的JavaAPI。它由Java語言寫的類和接口組成。JDBC給數(shù)據(jù)庫應(yīng)用開發(fā)人員、數(shù)據(jù)庫前臺工具開發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計接口,使開發(fā)人員可以用純Java語言編寫完整的數(shù)據(jù)庫應(yīng)用程序。通過使用JDBC,開發(fā)人員可以很方便地將SQL語句傳送給幾乎任何一種數(shù)據(jù)庫。也就是說,開發(fā)人員可以不必寫一個程序訪問Sybase,寫另一個程序訪問Oracle,再寫一個程序訪問Microsoft的SQLServer。用JDBC寫的程序能夠自動地將SQL語句傳送給相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)。不但如此,使用Java編寫的應(yīng)用程序不受平臺限制,只要是支持JAVA的都可以,從而省去了不少無用功。正如一句名言:“WriteOnce,RunEverywhere!”所說,省去了開發(fā)人員很多精力,加快了程序編寫,提升了節(jié)奏。Java具有健壯、安全、易用等特性,而且可以在internet上方便下載,是一種很好的與數(shù)據(jù)庫進行對話的編程語言。JDBC技術(shù)就是為此而生的,它是與數(shù)據(jù)庫進行對話的關(guān)鍵。JDBC拓寬了Java的能力,比如說:使用Java和JDBCAPI就可以開發(fā)一個Web頁,而此WEB頁中帶有Applet,從而可以訪問遠程數(shù)據(jù)庫。再打個比方,學(xué)??梢酝ㄟ^JDBC讓全部的教師(操作系統(tǒng)沒有影響,如Windwos,或UNIX)在Intranet上連接到互不相同的數(shù)個全球數(shù)據(jù)庫。2.3可行性分析首先,技術(shù)可行性:系統(tǒng)采用SQLSERVER2005作為開發(fā)數(shù)據(jù)庫。SQLSERVER2005是一種客戶機/服務(wù)器結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。SQLSERVER2005的UI設(shè)計比較人性化,方便使用者了解并使用,其中最常用的是SQLServerManagementStudio、SQLServerConfigurationManager和查詢分析器。這幾個常用工具可以幫助我們快速簡便的了解并操作SQLsever數(shù)據(jù)庫。在技術(shù)難度方面,在指導(dǎo)老師的指導(dǎo)下、通過研究說明指導(dǎo),相關(guān)文獻,記錄開發(fā)中遇到的難題,并一一解決。其次,經(jīng)濟可行性:在當(dāng)今時代,計算機已隨處可見,這給研發(fā)城市公交查詢系統(tǒng)提供了一個主要的硬件基礎(chǔ)。同時計算機越來越廉價,可以降低我們的開發(fā)成本。同時計算機硬件完善的今天,應(yīng)用軟件的需求在逐漸增加。只需要一個配置一般的電腦即可實現(xiàn)城市公交查詢系統(tǒng)的編寫,而廉價的開發(fā)成本,促使應(yīng)用軟件在現(xiàn)代社會發(fā)展迅速。同時相對比與傳統(tǒng)方式,利用軟件可以給用戶帶來方便和實惠。其優(yōu)勢主要表現(xiàn)在:本系統(tǒng)集成多個功能,減少了開發(fā)成本,最重要的是可以給用戶帶來便捷,如果功能分散,對于用戶來說過于麻煩,就失去了這個軟件系統(tǒng)編寫的意義。相比傳統(tǒng)方式,本系統(tǒng)如果開始運行,可以使成本降低,減少不必要的損失,可以將省下物力財力更加充分運用。本系統(tǒng)還有打印報表功能,方便紙質(zhì)文件檔案的保存。由此,可以得出,本系統(tǒng)在經(jīng)濟上是絕對具有可行性。第三,操作上的可行性:本系統(tǒng)主要是通過對數(shù)據(jù)庫的操作來完成功能,利用JDBC技術(shù)連接軟件系統(tǒng)和數(shù)據(jù)庫,操作上簡易快捷,通俗易懂。任何用戶都可以很快入手,只需輸入相應(yīng)信息,便由系統(tǒng)返還查詢結(jié)果,如果輸入不合法,還會彈出提示,充分體現(xiàn)本系統(tǒng)人性化的一面。2.4系統(tǒng)運行環(huán)境服務(wù)起端的最低配置是由建立站點所需要的軟件來決定的,在最底配置的情況下,服務(wù)器的性能往往不進人意,現(xiàn)在硬件性能已經(jīng)相當(dāng)出色,而且價格也很便宜,因此通常應(yīng)給服務(wù)器端配置高性能硬件。本機器的配置如下:處理器:InterPentium41.6Hz或更高內(nèi)存:3GB硬件空間:320GB題目主要采用的技術(shù)數(shù)據(jù)庫:MicrosoftSQLSERVER2005編程語言JSP服務(wù)器:Tomcat6.0,jdk1.6開發(fā)環(huán)境:Windows73系統(tǒng)總體設(shè)計3.1總體功能圖3-1系統(tǒng)總體功能圖如圖3-1所示,系統(tǒng)總體功能由上圖可以明顯看出。本公交查詢系統(tǒng)用戶主要分為兩種,一種為管理員,另一種為普通用戶。由于公交查詢系統(tǒng)是一個便民服務(wù),可對所有人無限制開放。普通用戶進入系統(tǒng)后可進行高級搜索以及公交查詢等兩個操作,可以查詢車次,公交線路以及公交車站信息等公交相關(guān)信息。對于管理員用戶來說,進入系統(tǒng)后可以對公交線路,公交路號,車站信息進行更新和修改,從而實現(xiàn)公交相關(guān)信息的更新。當(dāng)然在進入系統(tǒng)之前,管理員用戶需要進行登錄判斷,如若賬號密碼相符即可進入,否則將會提示錯誤信息不允許進入后臺進行修改操作。3.2處理流程設(shè)計3.2.1系統(tǒng)操作流程系統(tǒng)登錄界面輸入操作員及密碼系統(tǒng)主界面系統(tǒng)管理錯誤信息系統(tǒng)登錄界面輸入操作員及密碼系統(tǒng)主界面系統(tǒng)管理錯誤信息數(shù)據(jù)庫檢查密碼錯誤 數(shù)據(jù)庫檢查密碼錯誤密碼正確功能界面功能處理密碼正確功能界面功能處理圖3-2數(shù)據(jù)增加流程圖如圖3-2所示為數(shù)據(jù)增加的流程圖,即管理員登錄進入后臺進行操作的流程。 首先進入系統(tǒng)主界面,然后點擊左側(cè)管理員登錄界面,輸入賬號密碼,然后系統(tǒng)進行檢查,如果賬號密碼不符或密碼錯誤或密碼為空,則返還錯誤信息,重新進入系統(tǒng)主界面繼續(xù)進行上述操作,直到成功。密碼正確后進入功能界面,同時數(shù)據(jù)庫也會與功能界面進行連接,從而進行功能處理。3.2.2數(shù)據(jù)增加流程添加信息時,系統(tǒng)生成編號,隨即進行合法性判斷,如若合法,則用戶輸入數(shù)據(jù),然后保存至數(shù)據(jù)庫,如果不合法,則跳出循環(huán)讓用戶重新輸入,以此循環(huán)直到用戶退出,或者輸入合法為止。數(shù)據(jù)增加流程圖,如圖3-3所示。開始開始自動生成編號輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束圖3-3數(shù)據(jù)增加流程圖3.2.3數(shù)據(jù)修改流程在修改信息時,使用者選中待修改的記錄,隨后數(shù)據(jù)輸入,然后判斷數(shù)據(jù)的合法性,合法則寫入數(shù)據(jù)庫,不合法提示使用者重新使用,直到寫入數(shù)據(jù)庫或者使用者退出。數(shù)據(jù)修改流程圖如圖3-4所示。開始開始選擇需要修改記錄輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束圖3-4數(shù)據(jù)修改流程圖3.2.4數(shù)據(jù)刪除流程當(dāng)用戶選定一條記錄時,單擊刪除按鈕,會提示用戶是否確定刪除,然后刪除數(shù)據(jù)庫相關(guān)內(nèi)容。數(shù)據(jù)刪除流程圖如圖3-5所示。開始開始選擇需要刪除記錄是否刪除更新數(shù)據(jù)庫圖3-5數(shù)據(jù)刪除流程圖3.3數(shù)據(jù)流分析管理員普通用戶管理員普通用戶管理員操作界面管理員操作界面查詢界面查詢條件查詢條件管理員管理添加信息管理員管理添加信息信息管理查詢結(jié)果系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫圖3-6數(shù)據(jù)增加流程圖如圖3-6所示為數(shù)據(jù)增加流程圖,普通用戶進入查詢界面后,輸入查詢條件后,系統(tǒng)利用SQL語句到系統(tǒng)數(shù)據(jù)庫中查詢,然后將查詢結(jié)果返還到查詢界面并顯示出來。管理員用戶進入管理操作界面后,主要進行數(shù)據(jù)的增刪查改操作,然后對系統(tǒng)數(shù)據(jù)庫進行修改,修改后的信息在普通用戶下次查詢后就可以查詢的到。4系統(tǒng)詳細設(shè)計4.1后臺數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的一個核心技術(shù)。是一種計算機輔助管理數(shù)據(jù)的方法,它研究如何組織和存儲數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)。數(shù)據(jù)庫設(shè)計是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)和建議中的核心技術(shù)。數(shù)據(jù)庫設(shè)計中需求分析階段綜合各個用戶的應(yīng)用需求(現(xiàn)實世界的需求),在概念設(shè)計階段形成獨立于機器特點、獨立于各個DBMS產(chǎn)品的概念模式(信息世界模型),用E-R圖來描述。在邏輯設(shè)計階段將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型如關(guān)系模型,形成數(shù)據(jù)庫邏輯模式。然后根據(jù)用戶處理的要求,安全性的考慮,在基本表的基礎(chǔ)上再建立必要的視圖(VIEW)形成數(shù)據(jù)的外模式。在物理設(shè)計階段根據(jù)DBMS特點和處理的需要,進行物理存儲安排,設(shè)計索引,形成數(shù)據(jù)庫內(nèi)模式。數(shù)據(jù)庫設(shè)計的主要任務(wù)是在給定的多個環(huán)境下,包括應(yīng)用環(huán)境,系統(tǒng)以及數(shù)據(jù)庫等環(huán)境下,建立數(shù)據(jù)庫來有效保存數(shù)據(jù),滿足用戶需求,保證數(shù)據(jù)庫平穩(wěn)良好運行。數(shù)據(jù)庫設(shè)計通常是在一個通用的DBMS支持下,即利用現(xiàn)成的DBMS作為開發(fā)的基礎(chǔ)。4.1.1SQLSERVER介紹SQLServer是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate共同研發(fā)完成的的,并于1988年推出了第一個OS/2版本。SQLServer一直與時俱進,1996年,微軟推出了SQLServer6.5版本;1998年,SQLServer7.0版本問世;SQLSERVER2005是Microsoft公司于2005年推出的版本。SQLServer特點:1.真正的讀者機/服務(wù)器體系結(jié)構(gòu);2.圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單;3.豐富的編程接口工具,為用戶進行程序設(shè)計提供了更大的選擇余地;;4.SQLServer與WindowsNT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQLServer也可以很好地與MicrosoftBackOffice產(chǎn)品集成;5.具有很好的伸縮性,可跨越從運行Windows95/98的膝上型電腦到運行Windows2000的大型多處理器等多種平臺使用;;6.對Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上;;7.SQLServer提供數(shù)據(jù)倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。MicrosoftSQLServer2005是一個全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能(BI)工具提供了企業(yè)級的數(shù)據(jù)管理。MicrosoftSQLServer2005數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。MicrosoftSQLServer2005數(shù)據(jù)引擎是該企業(yè)數(shù)據(jù)管理解決方案的核心。此外MicrosoftSQLServer2005結(jié)合了分析、報表、集成和通知功能。這使您的企業(yè)可以構(gòu)建和部署經(jīng)濟有效的BI解決方案,幫助您的團隊通過記分卡、Dashboard、Webservices和移動設(shè)備將數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各個領(lǐng)域。與MicrosoftVisualStudio、MicrosoftOfficeSystem以及新的開發(fā)工具包(包括BusinessIntelligenceDevelopmentStudio)的緊密集成使MicrosoftSQLServer2005與眾不同。無論您是開發(fā)人員、數(shù)據(jù)庫管理員、信息工作者還是決策者,MicrosoftSQLServer2005都可以為您提供創(chuàng)新的解決方案,幫助您從數(shù)據(jù)中更多地獲益。而SQLSeverver2005具有以下十個特點:NET框架主機
使用SQLServer2005,開發(fā)人員通過使用相似的語言,例如微軟的VisualC#.net和微軟的VisualBasic,將能夠創(chuàng)立數(shù)據(jù)庫對象。開發(fā)人員還將能夠建立兩個新的對象--用戶定義的類和集合。XML技術(shù)
在使用本地網(wǎng)絡(luò)和互聯(lián)網(wǎng)的情況下,在不同應(yīng)用軟件之間散步數(shù)據(jù)的時候,可擴展標(biāo)記語言(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)是一個重要的標(biāo)準(zhǔn)。SQLServer2005將會自身支持存儲和查詢可擴展標(biāo)記語言文件。ADO.NET2.0版本從對SQL類的新的支持,到多活動結(jié)果集(MARS),SQLServer2005中的ADO.NET將推動數(shù)據(jù)集的存取和操縱,實現(xiàn)更大的可升級性和靈活性。增強的安全性SQLServer2005中的新安全模式將用戶和對象分開,提供fine-grainAccess存取、并允許對數(shù)據(jù)存取進行更大的控制。另外,所有系統(tǒng)表格將作為視圖得到實施,對數(shù)據(jù)庫系統(tǒng)對象進行了更大程度的控制。Transact-SQL的增強性能SQLServer2005為開發(fā)可升級的數(shù)據(jù)庫應(yīng)用軟件,提供了新的語言功能。這些增強的性能包括處理錯誤、遞歸查詢功能、關(guān)系運算符PIVOT,APPLY,ROW_NUMBER和其他數(shù)據(jù)列排行功能,等等。SQL服務(wù)中介SQL服務(wù)中介將為大型、營業(yè)范圍內(nèi)的應(yīng)用軟件,提供一個分布式的、異步應(yīng)用框架。通告服務(wù)通告服務(wù)使得業(yè)務(wù)可以建立豐富的通知應(yīng)用軟件,向任何設(shè)備,提供個人化的和及時的信息,例如股市警報、新聞訂閱、包裹遞送警報、航空公司票價等。在SQLServer2005中,通告服務(wù)和其他技術(shù)更加緊密地融合在了一起,這些技術(shù)包括分析服務(wù)、SQLServerManagementStudio.Web服務(wù) 使用SQLServer2005,開發(fā)人員將能夠在數(shù)據(jù)庫層開發(fā)Web服務(wù),將SQLServer當(dāng)作一個超文本傳輸協(xié)議(HTTP)偵聽器,并且為網(wǎng)絡(luò)服務(wù)中心應(yīng)用軟件提供一個新型的數(shù)據(jù)存取功能。報表服務(wù) 利用SQLServer2005,報表服務(wù)可以提供報表控制,可以通過VisualStudio2005發(fā)行。全文搜索功能的增強 SQLServer2005將支持豐富的全文應(yīng)用軟件。服務(wù)器的編目功能將得到增強,對編目的對象提供更大的靈活性。查詢性能和可升級性將大幅得到改進,同時新的管理工具將為有關(guān)全文功能的運行,提供更深入的了解。MicrosoftSQLServer2005組件MicrosoftSQLServer2005是用于大規(guī)模聯(lián)機事務(wù)處理(OLTP)、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用的數(shù)據(jù)庫平臺;也是用于數(shù)據(jù)集成、分析和報表解決方案的商業(yè)智能平臺。SQLServer2005引入了一些“Studio”幫助實現(xiàn)開發(fā)和管理任務(wù):SQLServerManagementStudio和BusinessIntelligenceDevelopmentStudio。在ManagementStudio中,可以開發(fā)和管理SQLServer數(shù)據(jù)庫引擎與通知解決方案,管理已部署的AnalysisServices解決方案,管理和運行IntegrationServices包,以及管理報表服務(wù)器和ReportingServices報表與報表模型。在BIDevelopmentStudio中,可以使用以下項目來開發(fā)商業(yè)智能解決方案:使用AnalysisServices項目開發(fā)多維數(shù)據(jù)集、維度和挖掘結(jié)構(gòu);使用ReportingServices項目創(chuàng)建報表;使用報表模型項目定義報表的模型;使用IntegrationServices項目創(chuàng)建包。1.數(shù)據(jù)庫引擎數(shù)據(jù)庫引擎是用于存儲、處理和保護數(shù)據(jù)的核心服務(wù)。利用數(shù)據(jù)庫引擎可控制訪問權(quán)限并快速處理事務(wù),從而滿足企業(yè)內(nèi)要求極高而且需要處理大量數(shù)據(jù)的應(yīng)用需要。使用數(shù)據(jù)庫引擎創(chuàng)建用于聯(lián)機事務(wù)處理或聯(lián)機分析處理數(shù)據(jù)的關(guān)系數(shù)據(jù)庫。這包括創(chuàng)建用于存儲數(shù)據(jù)的表和用于查看、管理和保護數(shù)據(jù)安全的數(shù)據(jù)庫對象(如索引、視圖和存儲過程)??梢允褂肧QLServerManagementStudio管理數(shù)據(jù)庫對象,使用SQLServerProfiler捕獲服務(wù)器事件。2.AnalysisServicesAnalysisServices是一種核心服務(wù),可支持對業(yè)務(wù)數(shù)據(jù)的快速分析,以及為商業(yè)智能應(yīng)用程序提供聯(lián)機分析處理(OLAP)和數(shù)據(jù)挖掘功能。3.OLAP使用AnalysisServices,可以設(shè)計、創(chuàng)建和管理包含來自多個數(shù)據(jù)源的詳細數(shù)據(jù)和聚合數(shù)據(jù)的多維結(jié)構(gòu),其中這些數(shù)據(jù)源(如關(guān)系數(shù)據(jù)庫)都存在于內(nèi)置計算支持的單個統(tǒng)一邏輯模型中。AnalysisServices為根據(jù)統(tǒng)一的數(shù)據(jù)模型構(gòu)建的大量數(shù)據(jù)提供快速、直觀、由上至下的分析,這樣可以采用多種語言和貨幣向用戶提供數(shù)據(jù)。AnalysisServices使用數(shù)據(jù)倉庫、數(shù)據(jù)集市、生產(chǎn)數(shù)據(jù)庫和操作數(shù)據(jù)存儲區(qū),以支持歷史數(shù)據(jù)和實時數(shù)據(jù)分析。4.數(shù)據(jù)挖掘AnalysisServices包含創(chuàng)建復(fù)雜數(shù)據(jù)挖掘解決方案所需的功能和工具。一組行業(yè)標(biāo)準(zhǔn)數(shù)據(jù)挖掘算法。數(shù)據(jù)挖掘設(shè)計器,可用于創(chuàng)建、管理和瀏覽挖掘模型,并可以根據(jù)挖掘模型創(chuàng)建預(yù)測。DMX語言,可用于管理挖掘模型和創(chuàng)建復(fù)雜的預(yù)測查詢??梢越M合使用這些功能和工具,以發(fā)現(xiàn)數(shù)據(jù)中存在的趨勢和模式,然后使用這些趨勢和模式對業(yè)務(wù)難題作出明智決策。5.IntegrationServicesSQLServer2005IntegrationServices(SSIS)是SQLServer2005的提取、轉(zhuǎn)換和加載(ETL)組件。它取代了早期的SQLServerETL組件DataTransformationServices(DTS)。IntegrationServices是用于生成企業(yè)級數(shù)據(jù)集成和數(shù)據(jù)轉(zhuǎn)換解決方案的平臺。使用IntegrationServices可解決復(fù)雜的業(yè)務(wù)問題,方法是復(fù)制或下載文件,發(fā)送電子郵件以響應(yīng)事件,更新數(shù)據(jù)倉庫,清除和挖掘數(shù)據(jù)以及管理SQLServer對象和數(shù)據(jù)。這些包可以獨立使用,也可以與其他包一起使用以滿足復(fù)雜的業(yè)務(wù)需求。IntegrationServices可以提取和轉(zhuǎn)換來自多種源(如XML數(shù)據(jù)文件、平面文件和關(guān)系數(shù)據(jù)源)的數(shù)據(jù),然后將這些數(shù)據(jù)加載到一個或多個目標(biāo)。IntegrationServices包含一組豐富的內(nèi)置任務(wù)和轉(zhuǎn)換、用于構(gòu)造包的工具以及用于運行和管理包的IntegrationServices服務(wù)。可以使用IntegrationServices圖形工具來創(chuàng)建解決方案,此時無需編寫一行代碼;也可以對IntegrationServices對象模型進行編程,通過編程方式創(chuàng)建包并編寫自定義任務(wù)以及其他包對象的代碼。6.復(fù)制復(fù)制是一組技術(shù),用于在數(shù)據(jù)庫間復(fù)制和分發(fā)數(shù)據(jù)和數(shù)據(jù)庫對象,然后在數(shù)據(jù)庫間進行同步操作以維持一致性。使用復(fù)制可以將數(shù)據(jù)通過局域網(wǎng)、廣域網(wǎng)、撥號連接、無線連接和Internet分發(fā)到不同位置以及分發(fā)給遠程用戶或移動用戶。SQLServer提供以下三種功能各不相同的復(fù)制類型:事務(wù)復(fù)制、合并復(fù)制和快照復(fù)制。事務(wù)復(fù)制通常用于需要高吞吐量的服務(wù)器到服務(wù)器方案(包括:提高伸縮性和可用性、數(shù)據(jù)倉庫和報告、集成多個站點的數(shù)據(jù)、集成異類數(shù)據(jù)以及卸載批處理)。合并復(fù)制主要為可能存在數(shù)據(jù)沖突的移動應(yīng)用程序或分步式服務(wù)器應(yīng)用程序而設(shè)計的。常見應(yīng)用場景包括:與移動用戶交換數(shù)據(jù)、POS(消費者銷售點)應(yīng)用程序以及集成來自多個站點的數(shù)據(jù)??煺諒?fù)制用于為事務(wù)性復(fù)制和合并復(fù)制提供初始數(shù)據(jù)集;在適合數(shù)據(jù)完全刷新時也可以使用快照復(fù)制。利用這三種復(fù)制,SQLServer提供功能強大且靈活的系統(tǒng),以便使企業(yè)范圍的數(shù)據(jù)同步。4.1.2數(shù)據(jù)庫表結(jié)構(gòu)為了滿足系統(tǒng)存儲數(shù)據(jù)需要,方便進行插入,更新,統(tǒng)計分析等操作,數(shù)據(jù)一共設(shè)計為兩個部分,第一部分為滿足插入,更新,刪除較多的數(shù)據(jù)存儲。第二部分為滿足查詢和統(tǒng)計分析。為了方便進行數(shù)據(jù)庫之間的遷移,數(shù)據(jù)庫中不建議采用存儲過程,觸發(fā)器等數(shù)據(jù)庫特征明顯的代碼,所有表建立,操作SQL均采用標(biāo)準(zhǔn)語句。表4-1為車次車站表,設(shè)計此表的目的是為了方便查詢,對于一輛公交車以及當(dāng)前設(shè)計系統(tǒng)來說,車次是他唯一的標(biāo)志,就好比身份證號對于公民來說的唯一性;而車站是公交車前進的標(biāo)志,一站挨著一站,是公交車前行的路線,設(shè)計此表一是可以利用車次車站信息,二也是最重要的是利用車次和車站可以鎖定一輛公交車而達到我們想要的目的。表4-1“cc”表中的相關(guān)信息列名數(shù)據(jù)類型長度允許空CciNvarchar50是CzanNvarchar500是 表4-2為車牌信息表,此表是為了存放車牌信息,司機信息等相關(guān)信息而設(shè)置的,當(dāng)用戶查詢車牌信息時,就會查詢此表中的信息,車牌號為主鍵,利用車牌號查出此車牌對應(yīng)的車輛及司機信息。表4-2“cp”表中的相關(guān)信息列名數(shù)據(jù)類型長度允許空CcpNvarchar50是CchNvarchar50是InfoNvarchar5000是Info1Nvarchar5000是 表4-3為管理員信息表,此表是管理員后臺登錄時賬號密碼存放的地方,當(dāng)?shù)卿洉r,SQL語句會查詢表中信息并進行比對,如果失敗或者為空就不允許進入后臺管理界面進行后臺操作。表4-3“user”表中的相關(guān)信息列名數(shù)據(jù)類型長度允許空IdNvarchar50否PassNvarchar50否4.2系統(tǒng)模塊設(shè)計4.2.1管理員登陸在管理員登錄界面,在用戶名對應(yīng)的文本框中輸入用戶名,在密碼對應(yīng)的文本框中輸入密碼,如果用戶名和密碼同時與數(shù)據(jù)庫中的用戶名和密碼相對應(yīng),點擊“確定”后進入系統(tǒng)的主界面。如果輸入的信息不正確,則給出提示。普通用戶直接查詢,無需登陸。輸入:用戶名和密碼。處理:檢驗字符合法性及有效性。管理員使用系統(tǒng)時需要輸入賬號和密碼,而檢驗分為以下兩種情況:1:管理員輸入賬號和密碼不合法,比如:管理員輸入的賬號和密碼的字符中帶有不允許輸入的字符,或者不合法字符,然后提示管理員輸入不合法,請重新輸入;2:管理員輸入賬號和密碼的有效性。賬號和密碼與注冊時不匹配,提示管理員輸入賬號和密碼不正確,請管理員重新輸入。輸出:登錄成功,進入用戶的系統(tǒng)使用資源頁面,不成功則顯示錯誤信息頁面。界面如下圖4-1所示。圖4-1管理員登陸界面圖管理員登錄合法性判斷代碼如下:<scriptlanguage="javascript">functiontrim(str)//去掉字符串的首尾空格{vartmpStr=newString(str)returntmpStr.replace(/(^\s*)|(\s*$)/g,"");}functioncheck()//此部分為管理員登錄合法性判斷程序{ if(trim(form.id.value)=="") { alert("用戶名不能為空!"); form.id.value=""; form.id.focus(); returnfalse; } if(trim(form.pass.value)=="") { alert("用戶密碼不能為空!"); form.pass.value=""; form.pass.focus(); returnfalse; }}</script>4.2.2公交信息查詢輸入:公交名稱,站點名稱,車牌號等。處理:以查詢公交線路為例。輸入公交名稱,然后提交給系統(tǒng),系統(tǒng)會自動查找線路表的所有信息。輸出:以查詢線路為例,要查詢的公交線路的信息。站點名稱,車牌信息同樣如此,就不一一列舉了,如圖4-2、4-3、4-4、4-5所示。對于查詢模塊來說,無論是車次還是車牌還是車站都是相似的類型。利用SQL語句將用戶輸入的信息放入設(shè)計好的表中查詢,如果查詢到結(jié)果則返回表中數(shù)據(jù),然后顯示在網(wǎng)頁上,如果查詢不到就不顯示,或者在顯示頁面提示查詢?yōu)榭眨簿褪钦f沒有這查詢的信息。如圖4-2所示為公交車次查詢界面,即下拉后選擇已有的車次即可進行查詢本車次所經(jīng)過的車站,如果管理員已經(jīng)在后臺添加或刪除車次,那么下拉列表里就會多或少一個車次。如果更改了某車次的路線,那么修改后再次查詢就可以查到新修改后的信息。圖4-2公交車次查詢圖如圖4-3所示,公交始終站查詢即用戶輸入自己出發(fā)的站點和要到達的站點即可查詢哪路車可以前往,如若有車前往,則點擊查找后在頁面中顯示XX地到XX地可有什么什么車次,如若沒有,那查詢結(jié)果就會是空白。圖4-3公交始終站查詢圖如圖4-4所示為公交站點信息查詢圖,即輸入車站站點名稱可以查看經(jīng)過此站點的所有車次,如果輸入并非為系統(tǒng)中錄入的車次,那么就會提示錯誤;否則就會執(zhí)行SQL語句進行查詢,然后顯示出用戶需要查詢的信息。圖4-4公交站點信息查詢圖公交車牌信息查詢圖如圖4-5所示,輸入車牌號即可查詢此車的司機以及他曾經(jīng)的記錄,如若輸入不合法或者并非系統(tǒng)內(nèi)存在的車牌,那么就會提示錯誤;否則顯示用戶想要查詢的信息。圖4-5公交車牌信息查詢圖圖4-5的核心代碼依次如下:<%@pagecontentType="text/html;charset=gb2312" language="java" import="java.util.*,java.text.*"http://用到的包 import="java.sql.*"http://用到的包 %><jsp:useBeanid="dbc"scope="session"class="MyBean.dbcon"/>//數(shù)據(jù)庫連接<html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>運城市公交查詢</title><SCRIPTlanguage=JAVASCRIPTtype=text/javascript><!--functionloginSubmit(theObj)//提交查詢申請時要求始發(fā)站和終點站均不能為空{(diào) if(theObj.fromStep.value==""&&theObj.toStep.value!="") { alert("始發(fā)站不能為空"); theObj.fromStep.focus(); returnfalse;/返回錯誤信息 } elseif(theObj.fromStep.value!=""&&theObj.toStep.value=="") { alert("終點站不能為空"); theObj.toStep.focus(); returnfalse;/返回錯誤信息 } elseif(theObj.fromStep.value==""&&theObj.toStep.value=="") { alert("始發(fā)站和終點站不能為空"); theObj.fromStep.focus(); returnfalse;//返回錯誤信息 } returntrue;//都沒違背規(guī)則的就返回成功信息}//--></SCRIPT>4.2.2公交信息修改與刪除進入管理員界面,可修改車次信息,添加車次和刪除車次,操作過程如下圖4.6所示。如圖4-6和4-7所示,點擊修改后可以跳轉(zhuǎn)的現(xiàn)有的所有車次及路線界面,類似圖4-7的界面,只不過有車次號及修改前的線路,然后可以根據(jù)情況修改路線,或者車次號,完畢后點擊提交即可寫入數(shù)據(jù)庫,重置即將所寫過恢復(fù)初始狀態(tài)。而添加車次與此類似,只不過添加車次是空白信息,需要我們進行輸入,才能提交。圖4-6管理員操作界面圖圖4-7管理員添加新車次界面圖后臺管理主要涉及到數(shù)據(jù)庫增刪查改,核心代碼如下所示:packageMyBean;importjava.sql.*;publicclassdbcon{ privateStringuser="sa";//數(shù)據(jù)庫的連接名 privateStringpassword="12345";//數(shù)據(jù)庫的連接密碼 privateStringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";privateStringconnectURL="jdbc:sqlserver://localhost:1433;databaseName=gj"; privateConnectionconn=null; privateStatementstmt=null; privateResultSetrs=null; //數(shù)據(jù)庫相關(guān)信息 publicdbcon() {//JDBC連接標(biāo)準(zhǔn)語句套用 try{ Class.forName(driverName); conn=DriverManager.getConnection(connectURL,user,password); conn.setAutoCommit(true); stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); //創(chuàng)建數(shù)據(jù)連接 } catch(Exceptione) { System.out.println("數(shù)據(jù)庫連接錯誤"+e.getMessage());//如若錯誤的提示 } } publicResultSetexecuteQuery(Stringsql) { try{ //利用try,catch語句進行異常處理 rs=stmt.executeQuery(sql); } catch(SQLExceptionex) { System.out.println("數(shù)據(jù)庫查詢錯誤"+ex.getMessage());//提示錯誤 } returnrs; } publicintexecuteUpdate(Stringsql) { try{ //利用try,catch語句進行異常處理 inti=stmt.executeUpdate(sql);returni; } catch(SQLExceptionex) { System.out.println("執(zhí)行更新錯誤:"+ex.getMessage());//如若出錯提示 return-1; } } publicConnectiongetcon() { returnconn; }<% request.setCharacterEncoding("gb2312"); ResultSetrs=null;//記錄集 Stringsql=""; //Stringid=""; //Stringcoursename=""; //Stringypno="";%>如圖4-8所示,公交信息刪除功能立顯。而刪除操作很簡單,在要刪除車次最后一點擊刪除即可將這行車次刪除。如圖4-8所示,用兩種顏色字區(qū)分修改和刪除。圖4-8公交信息刪除圖核心代碼如下所示:<%//利用try,catch語句進行異常處理,主要是進行頁碼顯示跳轉(zhuǎn)等問題 try{ sql="select*fromcc";//SQL語句從車次表中選擇所有的 rs=dbc.executeQuery(sql); StringpageNo="";//設(shè)置為空 //分頁 }if(request.getParameter("pageNo")!=null)//如果不為空 {{pageNo=request.getParameter("pageNo"); session.setAttribute("PAGENO",pageNo); sql=(String)session.getAttribute("strSql");//調(diào)用SQL語句} } elseif(session.getAttribute("PAGENO")!=null){//如果新調(diào)出還不為空 pageNo=(String)session.getAttribute("PAGENO"); }else{ pageNo="1"; session.setAttribute("strSql",sql); } //獲取當(dāng)前頁碼 intintCount=10; //每頁顯示的記錄數(shù) intintNum=0; //判斷是否有數(shù)據(jù) intt=0; //總記錄數(shù) intmtotal=0; //總頁數(shù) intj=0; //當(dāng)前頁數(shù) rs=dbc.executeQuery(sql); while(rs.next()){ t=t+1; } //求出總頁數(shù) if((t%intCount)>0){mtotal=t/intCount+1;//算出總頁數(shù)的公式} else mtotal=t/intCount; //獲得當(dāng)前頁數(shù) j=Integer.parseInt(pageNo); //當(dāng)j的值小于1時,賦值為1 if(j<1) {j=1;//小于1則就是第一頁} //當(dāng)j的值大于總頁數(shù)時,賦值為mtotal if(j>mtotal) j=mtotal; j=j+1;rs=dbc.executeQuery(sql); //獲得當(dāng)前顯示頁的記錄 for(intk=0;k<(j-1)*intCount;k++){ if(rs.next()){{ elsebreak;} } intm=0; while(rs.next()){//利用while循環(huán)判斷,并進行進一步操作 intNum=1; if(m>=intCount){ break;{ m=m+1; Stringidno=rs.getString("cci");如下圖4-9所示是車次修改界面,可以進行添加及修改操作。而后臺界面修改主要涉及到數(shù)據(jù)庫的連接與操作,點擊提交后即可將信息錄入到數(shù)據(jù)表中,點擊重置后即可清空已經(jīng)填寫的信息,圖4-9公交信息修改圖而后臺界面核心代碼主要如下所示:functionMM_reloadPage(init){//reloadsthewindowifNav4resizedif(init==true)with(navigator){if((appName=="Netscape")&&(parseInt(appVersion)==4)){{document.MM_pgW=innerWidth;document.MM_pgH=innerHeight;onresize=MM_reloadPage;}}elseif(innerWidth!=document.MM_pgW||innerHeight!=document.MM_pgH) location.reload();}MM_reloadPage(true);//--></script><body><p><% request.setCharacterEncoding("gb2312"); ResultSetrs=null;//記錄集 Stringsql=""; //Stringid=""; //Stringcoursename=""; //Stringypno="";%></p><p> </p>//以下代碼行是用來顯示頁面數(shù)的//當(dāng)j大于1時,就會顯示“第一頁”、“上一頁”字樣 if(j>1) {%><ahref="list.jsp?pageNo=1"class="lanse">首頁</a><% intii=Integer.parseInt(pageNo,8);//同pageCount if(ii>mtotal)//如果輸入的頁碼大于最大頁碼 { ii=mtotal; } if(ii>1)ii=ii-1; StringssTmp=Integer.toString(ii);%>|<ahref="list.jsp?pageNo=<%=ssTmp%>"class="lanse">上一頁</a>|<% }else{ out.print("首頁|上一頁|"); }//--快速定位 intpages=Integer.parseInt(pageNo,8);//4同pageCount intpagesBegin=0;//初始化初始頁和末頁 intpagesEnd=0; if(pages>mtotal) { pages=mtotal; } //設(shè)置起點 if(pages>3) { pagesBegin=pages-3;//一直顯示3個頁面,然后往后頁面通過點往后查詢 } else{ pagesBegin=1;//如果當(dāng)前頁面-3小于3,則為第一頁 } //設(shè)置終點 if((pages+3)<=mtotal) { pagesEnd=pages+3;//結(jié)束頁加3 } else{ pagesEnd=mtotal;//否則結(jié)束頁為mtotal之前的賦值 } while(pagesBegin<=pagesEnd)//如果起始頁小于結(jié)束頁 { if(j==pagesBegin){ out.print(pagesBegin);//顯示出起始頁 }else{%><ahref="list.jsp?pageNo=<%=pagesBegin%>"><%=pagesBegin%></a><% } pagesBegin=pagesBegin+1;//起始頁加1 }//快速定位結(jié)束 //同樣地,當(dāng)j小于總邏輯頁數(shù)時,就會顯示“下一頁”、“最后頁”字樣 if(j<mtotal) { intii=Integer.parseInt(pageNo,8); if(ii<mtotal)ii=ii+1; StringssTmp=Integer.toString(ii);%><ahref="list.jsp?pageNo=<%=ssTmp%>"class="lanse">下一頁</a>|<ahref="list.jsp?pageNo=<%=mtotal%>"class="lanse">末頁</a><% }else{ out.print("下一頁|末頁"); } if(mtotal<j) j=mtotal;%>//頁碼處理完畢</tr>5系統(tǒng)調(diào)試與測試5.1程序調(diào)試的技術(shù)在設(shè)計系統(tǒng)的過程中,存在一些錯誤是必然的。對于語句的語法錯誤,在myeclipse運行時,編譯器就會提示出錯,方便我們進行糾正。但另一類錯誤是意外出現(xiàn)的,一般有操作失誤或者計算機邏輯方面出現(xiàn)問題等,但他們都有一個明顯特點是不易發(fā)現(xiàn),隱蔽性強,時隱時現(xiàn)。因此,這類錯誤非常費勁,不方便我們進行查找和糾正。一般程序調(diào)試分如下幾步來完成:第一步,用編輯程序把編制的源程序按照一定的書寫格式送到計算機中,編輯程序會根據(jù)使用人員的意圖對源程序進行增、刪或修改;第二步,把送入的源程序翻譯成機器語言,即用編譯程序?qū)υ闯绦蜻M行語法檢查并將符合語法規(guī)則的源程序語句翻譯成計算機能識別的“語言”。如果經(jīng)編譯程序檢查,發(fā)現(xiàn)有語法錯誤,那就必須用編輯程序來修改源程序中的語法錯誤,然后再編譯,直至沒有語法錯誤為止;第三步,使用計算機中的連接程序,把翻譯好的計算機語言程序連接起來,并扶植成一個計算機能真正運行的程序。在連接過程中,一般不會出現(xiàn)連接錯誤,如果出現(xiàn)了連接錯誤,說明源程序中存在子程序的調(diào)用混亂或參數(shù)傳遞錯誤等問題。這時又要用編輯程序?qū)υ闯绦蜻M行修改,再進行編譯和連接,如此反復(fù)進行,直至沒有連接錯誤為止;第四步,將修改后的程序進行試算,這時可以假設(shè)幾個模擬數(shù)據(jù)去試運行,并把輸出結(jié)果與手工處理的正確結(jié)果相比較。如有差異,就表明計算機的程序存在有邏輯錯誤。如果程序不大,可以用人工方法去模擬計算機對源程序的這幾個數(shù)據(jù)進行修改處理;如果程序比較大,人工模擬顯然行不通,這時只能將計算機設(shè)置成單步執(zhí)行的方式,一步步跟蹤程序的運行。一旦找到問題所在,仍然要用編輯程序來修改源程序,接著仍要編譯、連接和執(zhí)行,直至無邏輯錯誤為止。也可以在完成后再進行編譯。同時一般堅持如下幾個原則:一,用頭腦去分析思考與錯誤征兆有關(guān)的信息;二,避開死胡同;三,只把調(diào)試工具當(dāng)做手段。利用調(diào)試工具,可以幫助思考,但不能代替思考,因為調(diào)試工具給的是一種無規(guī)律的調(diào)試方法;四,避免用試探法,最多只能把它當(dāng)做最后手段;五,再出現(xiàn)錯誤的地方,可能還有別的錯誤;六,修改錯誤的一個常見失誤是只修改了這個錯誤的征兆或這個錯誤的表現(xiàn),而沒有修改錯誤本身。如果提出的修改不能解釋與這個錯誤有關(guān)的全部線索,那就表明只修改了錯誤的一部分;七,注意修正一個錯誤的同時可能會引入新的錯誤;八,修改錯誤的過程將迫使人們暫時回到程序設(shè)計階段。修改錯誤也是程序設(shè)計的一種形式;九,修改源代碼程序,不要改變目標(biāo)代碼。同時常用如下幾個方法:一,簡單調(diào)試方法:步驟1,在程序中插入打印語句、優(yōu)點是能夠顯示程序的動態(tài)過程,比較容易檢查源程序的有關(guān)信息。確定是效率低,可能輸入大量無關(guān)的數(shù)據(jù),發(fā)現(xiàn)錯誤帶有偶然性;2,運行部分程序。有時為了測試某些被懷疑有錯的程序段,卻將整個程序反復(fù)執(zhí)行許多次,在這種情況下,應(yīng)設(shè)法使被測程序只執(zhí)行需要檢查的程序段,以提高效率;3,借助調(diào)試工具。目前大多數(shù)程序設(shè)計語言都有專門的調(diào)試工具,可以用這些工具來分析程序的動態(tài)行為。二,回溯法排錯。確定最先發(fā)現(xiàn)錯誤癥狀的地方,人工沿程序的控制流往回追蹤源程序代碼,直到找到錯誤或范圍。三,歸納法排錯。是一種系統(tǒng)化的思考方法,是從個別推斷全體的方法,這種方法從線索(錯誤征兆出發(fā)),通過分析這些線索之間的關(guān)系找出故障。主要有4步:(1)收集有關(guān)數(shù)據(jù)。收集測試用例,弄清測試用例觀察到哪些錯誤征兆,以及在什么情況下出現(xiàn)錯誤等信息;(2)組織數(shù)據(jù)。整理分析數(shù)據(jù),以便發(fā)現(xiàn)規(guī)律,即什么條件下出現(xiàn)錯誤,什么條件下不出現(xiàn)錯誤;(3)導(dǎo)出假設(shè)。分析研究線索之間的關(guān)系,力求找出它們的規(guī)律,從而提出關(guān)于錯誤的一個或多個假設(shè),如果無法做出假設(shè),則應(yīng)設(shè)計并執(zhí)行更多的測試用例,以便獲得更多的數(shù)據(jù);(4)證明假設(shè)。假設(shè)不等于事實,證明假設(shè)的合理性是極其重要的,不經(jīng)證明就根據(jù)假設(shè)排除錯誤,往往只能消除錯誤的征兆或只能改正部分錯誤。證明假設(shè)的方法是用它解釋所有原始的測試結(jié)果,如果能圓滿地解釋一切現(xiàn)象,則假設(shè)得到證明,否則要么是假設(shè)不成立或不完備,要么是有多個錯誤同時存在。四,演繹法排錯。設(shè)想可能的原因,用已有的數(shù)據(jù)排除不正確的假設(shè),精化并證明余下的假設(shè)。五,對分查找法。如果知道每個變量子啊程序內(nèi)若干個關(guān)鍵點上的正確值,則可用賦值語句或輸入語句在程序中的關(guān)鍵點附近“注入”這些變量的正確值,然后檢查程序的輸出。如果輸出結(jié)果是正確的,則表示錯誤發(fā)生在前半部分,否則,不妨認(rèn)為錯誤在后半部分。這樣反復(fù)進行多次,逐漸逼近錯誤位置。5.2程序的測試技術(shù)5.2.1測試的重要性及目的(1)測試的重要性軟件的測試在軟件生命周期中占據(jù)重要的地位,軟件測試從直觀上來講是對測試對象進行檢查、驗證,似乎很簡單,但實際不然,它是由許多處理環(huán)節(jié)構(gòu)成的。為了保證軟件質(zhì)量,軟件測試勢在必行。早期的軟件測試是在整個項目完工以后進行測試,然而隨著時代的發(fā)展,這種測試方法越來越跟不上時代?,F(xiàn)在業(yè)內(nèi)基本上認(rèn)同一個觀點,軟件測試應(yīng)該存在于軟件的整個生命周期,這樣我們就能及時通過測試發(fā)現(xiàn)問題,傳統(tǒng)方法將問題放在最后解決,而隨時開發(fā)隨時測試能方便我們對軟件進行完善,從而保證軟件質(zhì)量。事實上,軟件的錯誤不可避免。只是新時代的方式,新時代的測試方式相對于傳統(tǒng)方式而言可以更多減少錯誤發(fā)生,但是絕對不可能使軟件的錯誤完全消失。所以測試必須要伴隨軟件的整個生命周期。測試必須作為軟件開發(fā)的一部分,從開始編寫的第一段代碼開始就要伴隨開發(fā)進行。統(tǒng)計表明,在典型的軟件開發(fā)項目中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30%到50%。如果把維護階段也考慮在內(nèi),討論整個軟件生存期時,維護看似比測試方便,其實不然,維護相當(dāng)于對軟件進行再度開發(fā),如果測試在開發(fā)過程不斷進行,那么就可以減少維護費用,而維護就可以成為真正維護,而不是再度開發(fā)。在實踐中,由于人們對測試的不熟悉或者忽視,導(dǎo)致開發(fā)者不會或者不愿意去進行測試,這是開發(fā)者誤解了測試,這包括:①測試往往被認(rèn)為技術(shù)含量不高,導(dǎo)致IT工作者不愿意從事測試工作;②測試是為了發(fā)現(xiàn)軟件的錯誤,然而發(fā)現(xiàn)了錯誤就是對開發(fā)者的成果的否定,導(dǎo)致了測試工作者的矛盾心理;③測試相對于開發(fā)來說比較重復(fù)單一,容易引起工作者煩躁,抑郁;④然而測試工作又是精益求精的,不容許有半點馬虎;⑤如若對自己開發(fā)的程序進行測試,倘若發(fā)現(xiàn)錯誤,便是自己開發(fā)能力不強的表現(xiàn),從而產(chǎn)生不敢或者不愿測試的病態(tài)思想。這些錯誤的觀點不對了,會影響工作者的工作熱情,需要改正,才能全面提高項目的質(zhì)量。(2)測試的目的測試的目的就是尋找錯誤,因此測試過程中不能放過犄角旮旯,越是復(fù)雜的地方,越是出過錯的地方越是我們尋找錯誤的重點。①軟件測試是一個過程,需要我們?nèi)ゲ粩喟l(fā)現(xiàn)錯誤,來提升軟件質(zhì)量;②測試是尋找錯誤,而不是驗證程序無錯,況且無錯幾乎是不可能的;③什么是好的測試用例,是這個用例能發(fā)現(xiàn)之前沒發(fā)現(xiàn)過得錯誤;④一個成功的測試同樣如好的測試用例一樣。之所以養(yǎng)成這種觀點,是為了更好的發(fā)現(xiàn)錯誤。測試是為了發(fā)現(xiàn)錯誤,對于工作者來說不是展示軟件,而是發(fā)現(xiàn)錯誤。無論軟件質(zhì)量如何,完整的測試是必備,是有意義的,是有價值的。首先,測試并不僅僅是為了要找出錯誤。通過分析錯誤產(chǎn)生的原因和錯誤的分布特征,可以幫助項目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進。同時,這種分析能對軟件質(zhì)量提供有益支持。其次,無論如何,測試是伴隨整個軟件生命周期的,是軟件周期的一部分,因此完整測試是必備的。5.2.2測試的步驟任何事有事有步驟的,在軟件開發(fā)中,一個大系統(tǒng)由若干的小系統(tǒng)組成,小系統(tǒng)又由很多模塊組成,根據(jù)這種結(jié)構(gòu),可以將測試分為如下幾個步驟:模塊測試目的是發(fā)現(xiàn)詳細設(shè)計以及代碼中的錯誤系統(tǒng)測試目的是發(fā)現(xiàn)軟件設(shè)計中的錯誤,也可能找到部分需求說明錯誤,作為驗收測試的輔助。(3)驗收測試目的是系統(tǒng)需求說明書的錯誤。5.3本系統(tǒng)測試的主要內(nèi)容為了保證測試的質(zhì)量,根據(jù)上述的背景技術(shù),將測試過程分成幾個階段,即:單元測試、集成測試和系統(tǒng)測試。(1)單元測試單元測試是對軟件最小可執(zhí)行單元的測試,目的是發(fā)現(xiàn)此單元中功能實現(xiàn)與說明書中不符情況,而且還有代碼方面的錯誤。經(jīng)過單元測試后發(fā)現(xiàn)功能基本與說明書中相符,代碼方面錯誤通過編譯器報錯進行改成。(2)集成測試集成測試是單元測試結(jié)束后,按照要求將模塊拼成子系統(tǒng)就行測試,因為很多模塊單令測試時可以良好運行,然而當(dāng)它們組合在一起時,卻會出現(xiàn)各種各樣的錯誤,因此,設(shè)置集成測試來在單元測試的基礎(chǔ)上繼續(xù)對軟件進行錯誤,盡量多的發(fā)現(xiàn)軟件運行中的錯誤。本次測試主要將后臺與查詢結(jié)合在一起,后臺添加車次信息后,查詢是否能否查詢的到,刪除后,查詢是否能及時更新。測試用例:添加222路車,車次信息A-B-C-D-E-F-G-H;然后退出管理后臺界面進行查詢,查詢發(fā)現(xiàn)555路車出現(xiàn)在車次查詢中,且查詢A-B的車次中有222路。然后進入后臺管理界面刪除此路車,繼續(xù)查詢發(fā)現(xiàn)本車次已經(jīng)消失。測試完畢。(3)系統(tǒng)測試以上測試完成后,還有進行最后一步,將系統(tǒng)其他部分與軟件結(jié)合配套在一起,然后進行系統(tǒng)測試。本系統(tǒng)主要采用功能測試:功能測試顧名思義,即系統(tǒng)的功能能不能達到需求,這是最常用的系統(tǒng)測試,也是必備的測試,以開發(fā)要求和用戶需求為基準(zhǔn),對系統(tǒng)進行測試,是否達到要求。測試目的:一:查詢公交信息是否能成功查詢;二:后臺管理能否對信息進行修改。兩項主要功能測試完畢后,對整體進行一次試運行。如下圖5-1所示,在進行測試時首先進入系統(tǒng)運行界面,然后根據(jù)用例進行測試看系統(tǒng)是否能達到要求。圖5-1系統(tǒng)運行圖如圖5-2所示,添加了一路新的車次為222路號,路線為A-B-C-D-E-F-G-H.作為一個用例來測試添加后的信息能否在查詢界面查詢到,或者說能否在數(shù)據(jù)庫表中查到,如若不能查到,則說明跟數(shù)據(jù)庫連接出現(xiàn)問題;而如果能成功查詢的到,則證明系統(tǒng)可以成功運行。圖5-2添加車次后信息圖如圖5-3所示,添加車次信息后,在車次線路查詢界面可以查詢到行車路線,證明連接正常,查詢出的222路行車路線信息與添加的車次信息相符圖5-3添加車次后查詢車次圖如圖5-4所示,在查詢A-G的始終站查詢時,查詢到有222路車,而222路車正是我們之前添加的車次,站點也是A-E之間的站點,因此始終站點查詢可正常使用。圖5-4添加車次后查詢始終站圖如圖5-5所示,在車站信息查詢時,查詢C車站經(jīng)停車次時,查詢到222路,而222路途經(jīng)A-B-C-D-E-F-G-H等8個站點,因此當(dāng)查詢C車站經(jīng)停車次時就可以查詢到有222路,證明車站信息查詢功能沒問題。圖5-5添加車次后查詢車站信息圖5.4安全性問題Web開發(fā)中安全性是必須考慮的一個很重要的方面,特別是在諸如個信息等敏感數(shù)據(jù)的模塊中更是關(guān)鍵,所以這也是后期開發(fā)需要引起重視的。下面就這方面的技術(shù)和解決方案加以討論。(1)安裝防火墻:在網(wǎng)絡(luò)中,所謂“防火墻”,是指一種將內(nèi)部網(wǎng)和公眾訪問網(wǎng)(如Internet)分開的方法,它實際上是一種隔離技術(shù)。防火墻是在兩個網(wǎng)絡(luò)通訊時執(zhí)行的一種訪問控制尺度,它能允許你“同意”的人和數(shù)據(jù)進入你的網(wǎng)絡(luò),同時將你“不同意”的人和數(shù)據(jù)拒之門外,最大限度地阻止網(wǎng)絡(luò)中的黑客來訪問你的網(wǎng)絡(luò)。(2)輸入檢查和輸出過濾:用戶在請求中嵌入惡意HTML標(biāo)記來進行攻擊破壞,防止出現(xiàn)這種問題要靠輸入檢查和輸出過濾,而這類檢查必須在服務(wù)器端進行,一旦校驗代碼發(fā)現(xiàn)有可疑的請求信息,就將這些可疑代碼替換并將其過濾掉。只有過濾掉了這些可疑的請求信息后,可以在源頭阻止對系統(tǒng)安全性的威脅,這樣就能保證系統(tǒng)能夠在安全的環(huán)境下進行,配合防火墻,保證系統(tǒng)安全,健康的運行下去。(3)VPN設(shè)備:VPN設(shè)備實現(xiàn)了利用公共網(wǎng)絡(luò)建立自己的虛擬專網(wǎng)。VPN設(shè)備負責(zé)給發(fā)送到對方的數(shù)據(jù)包進行加密并重新打包,當(dāng)?shù)竭_對方VPN設(shè)備的時候住在拆包、脫密,而在公共網(wǎng)絡(luò)上看到的指示兩個VPN設(shè)備。(4)授權(quán)和身份認(rèn)證系統(tǒng):授權(quán)和身份認(rèn)證系統(tǒng)加強7原有的基于賬戶和口令的控制,提供了授權(quán)、訪問控制、用戶身份識別、對等實體鑒別、抗抵賴等功能。信息加密是信息安全應(yīng)用中最早開展有效手段之一。信息加密的目的是保護網(wǎng)上傳輸?shù)臄?shù)據(jù)。(5)安全路由器:安全路由器提供了某些基于地址或服務(wù)的過濾機制,可以在一定程度上限制網(wǎng)絡(luò)訪問。安全路由器的分類一般可分為高性能安全路由器和VPN安全路由器,后者是指具有VPN功能,可讓中小企業(yè)建置VPN。不過由于中小企業(yè)的要求差異不大,因此這二者的要求的功能是近似的,只是后者多了VPN功能。在企業(yè)持續(xù)進行網(wǎng)絡(luò)升級,由過去的只要求連接,轉(zhuǎn)而為尋找整合安全特性,QoS和支持VoIP的平臺。在這個風(fēng)潮之下,以前的路由器顯得功能不足,具有防火墻、加密VPN、帶寬管理以及URL過濾等安全功能的安全路由器便應(yīng)運而生。(6)安全檢測預(yù)警系統(tǒng):安全檢測預(yù)警系統(tǒng)用于實時監(jiān)視網(wǎng)絡(luò)上的數(shù)據(jù)流,尋找具有網(wǎng)絡(luò)攻擊特征和違反網(wǎng)絡(luò)安全策略的數(shù)據(jù)流。當(dāng)它發(fā)現(xiàn)可疑數(shù)據(jù)流時按照系統(tǒng)安全策略規(guī)定的響應(yīng)策略進行響應(yīng),包括實時報警、記錄相關(guān)信息、實時阻斷非法網(wǎng)絡(luò)連接、對事件涉及的主機實施進一步的跟蹤等。結(jié)論本文通過本系統(tǒng)設(shè)計與開發(fā),從而得出下列結(jié)論:(1)學(xué)習(xí)一門新技術(shù),最重要的是實踐,只有多動手才能盡快掌握它。(2)一個系統(tǒng)的開發(fā),經(jīng)驗是最重要的,經(jīng)驗不足,就難免會有許多考慮不周之處。(3)要想吸引更多的用戶,系統(tǒng)的界面必須要美觀、有特色、友好,功能要健全。不過由于經(jīng)驗不足,我設(shè)計的圖形界面比較簡單。只是對基本功能進行了開發(fā)。(4)本次開發(fā),我參考了很多本系統(tǒng)的例子,吸取了一些別的本系統(tǒng)的長處,對自己的畢業(yè)設(shè)計進行了完善,但是還有很多的不足之處,有待以后進一步學(xué)習(xí)。實踐證明,本系統(tǒng)有著很好的發(fā)展前景,經(jīng)測試運行。本文所制作的系統(tǒng)界面友好、使用靈活、操作簡單、功能齊全、表現(xiàn)方式獨特,已基本具備了成熟的技術(shù)理論。本公交查詢系統(tǒng)是在充分了解需求的基礎(chǔ)上開發(fā)出來的,功能基本都已達到用戶的要求,且操作簡單,具有較高的數(shù)據(jù)安全性。該軟件主要是針對廣大出行人士查詢城市公交信息而開發(fā)的基于J2EE應(yīng)用端軟件,該系統(tǒng)具有查詢公交線路和公交站點功能,并能通過管理員登錄維護系統(tǒng)公交信息。
在完成這次畢業(yè)設(shè)計的過程中,自己查閱了大量的書籍,并且通過互聯(lián)網(wǎng)也查閱了許多相關(guān)資料,開發(fā)出具有B/S結(jié)構(gòu)模式的公交系統(tǒng),從而使我的編程能力和自學(xué)能力得到了很大程度的提高,對網(wǎng)站設(shè)計有了更深地了解。
但是,由于整個系統(tǒng)完全都是由個人設(shè)計的,有關(guān)J2EE許多知識都要靠自己去摸索,加之自己水平有限,未能完全地理解J2EE的強大功能,因此,系統(tǒng)還存在著許多不足之處,比如不能夠有效率地實現(xiàn)公交換乘方案。該系統(tǒng)雖然基本實現(xiàn)了所要求的功能,但是還存在很多不足,有很多功能也過于簡單,需要進一步完善和改進。
沒有做畢業(yè)設(shè)計以前覺得畢業(yè)設(shè)計只是對這幾年來所學(xué)知識的單純總結(jié),但是通過這次做畢業(yè)設(shè)計發(fā)現(xiàn)自己的看法有點太片面。畢業(yè)設(shè)計不僅是對前面所學(xué)知識的一種檢驗,而且也是對自己能力的一種提高。通過這次畢業(yè)設(shè)計使我明白了自己原來知識還比較欠缺。自己要學(xué)習(xí)的東西還太多,以前老是覺得自己什么東西都會,什么東西都懂,有點眼高手低。通過這次畢業(yè)設(shè)計,我才明白學(xué)習(xí)是一個長期積累的過程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識和綜合素質(zhì)。在這次畢業(yè)設(shè)計中也使我們的同學(xué)關(guān)系更進一步了,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識,所以在這里非常感謝幫助我的同學(xué)。因此,還得出一個結(jié)論:知識必須通過應(yīng)用才能實現(xiàn)其價值!有些東西以為學(xué)會了,但真正到用的時候才發(fā)現(xiàn)是兩回事,所以我認(rèn)為只有到真正會用的時候才是真的學(xué)會了。在整個設(shè)計中我懂得了許多東西,也培養(yǎng)了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。雖然這個設(shè)計做的也不太好,但是在設(shè)計過程中所學(xué)到的東西是這次畢業(yè)設(shè)計的最大收獲和財富,使我終身受益。大學(xué)四年就會在這最后的畢業(yè)設(shè)計總結(jié)劃上一個圓滿的句號.我曾經(jīng)以為時間是一個不快不慢的東西,但現(xiàn)在我感到時間過的是多么的飛快,四年了,感覺就在一眨眼之間結(jié)束了我的大學(xué)生涯.畢業(yè),最重要的一
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)派遣合同范本專題
- 四年級上冊安全課件
- 科技發(fā)展趨勢下的經(jīng)濟結(jié)構(gòu)變革
- 科技產(chǎn)品電子商務(wù)營銷策略及案例分析
- 科技創(chuàng)新助力商業(yè)持續(xù)發(fā)展
- 科技職場中的時間管理與自我提升策略
- 科技企業(yè)如何利用網(wǎng)絡(luò)直播拓展業(yè)務(wù)邊界
- 跌倒急救護理
- 科技與情感社交媒體在節(jié)日禮品營銷中的融合
- 知識產(chǎn)權(quán)培訓(xùn)在企業(yè)中的重要性
- 解剖臺市場發(fā)展前景分析及供需格局研究預(yù)測報告
- GB/T 44590-2024天然林保護修復(fù)生態(tài)效益評估指南
- 發(fā)熱病人護理課件
- 民用無人機操控員執(zhí)照(CAAC)考試復(fù)習(xí)重點題及答案
- 第20課清朝君主專制的強化 教案
- 幼兒園中班安全《不動手打人》課件
- 2輸變電工程施工質(zhì)量驗收統(tǒng)一表式(變電工程土建專業(yè))-2024年版
- 骨科睡眠護理
- 2025年高考語文復(fù)習(xí)備考復(fù)習(xí)策略講座
- 遼寧沈陽歷年中考語文現(xiàn)代文之說明文閱讀11篇(含答案)(2003-2022)
- 2024至2030年中國聚硫橡膠行業(yè)市場現(xiàn)狀分析及未來前景規(guī)劃報告
評論
0/150
提交評論