版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、目 錄摘要2Abstract31、引言41.1 背景和發(fā)展41.2 可行性分析51.2.1 技術(shù)可行性51.2.2 經(jīng)濟可行性51.2.3 操作可行性61.3 課題的目的意義62、相關(guān)技術(shù)簡介62.1 JSP技術(shù)簡介62.2 JSP工作原理72.3 JSP體系結(jié)構(gòu)72.4 JSP的特點82.5 SQLSERVER 2000 數(shù)據(jù)庫82.6 系統(tǒng)數(shù)據(jù)庫連接93、概要設(shè)計143.1 基本思路143.2 基本思想153.3 系統(tǒng)功能概述153.4 系統(tǒng)E-R圖174、系統(tǒng)設(shè)計174.1 處理流程設(shè)計174.1.1 系統(tǒng)操作流程圖174.1.2 數(shù)據(jù)增加流程184.1.3 數(shù)據(jù)修改流程194.1.4
2、數(shù)據(jù)刪除流程204.2 模塊設(shè)計214.2.1 教師及管理員登陸214.2.2 學(xué)習(xí)資料管理224.2.3 遠程教育管理224.2.4 在線答疑管理224.2.5 平臺首頁235、系統(tǒng)調(diào)試與測試245.1 程序調(diào)試245.2 程序的測試245.2.1 測試的重要性及目的245.2.2 測試的步驟265.2.3 測試的主要內(nèi)容26結(jié)束語28致謝30參考文獻31摘要隨著信息時代的到來,人類知識更新的周期越來越短。如何使教學(xué)、培訓(xùn)能滿足不同地點和不同學(xué)習(xí)時間人們的需要,傳統(tǒng)的面對面教育方式在這方面已經(jīng)力不從心。在這種情況下,學(xué)習(xí)型網(wǎng)站應(yīng)運而生, 并成為現(xiàn)代教育發(fā)展的新趨勢。本設(shè)計主要包括遠程教學(xué)平臺
3、方案分析與規(guī)劃設(shè)計,介紹了整個設(shè)計過程中的思路和所用到的技術(shù),以及如何實現(xiàn)本系統(tǒng)的各個功能。整個系統(tǒng)以JSP為編程語言,與SQLSERVER2000數(shù)據(jù)庫相結(jié)合,體現(xiàn)了交互性的原則,培養(yǎng)同學(xué)們的創(chuàng)新能力,充分調(diào)動學(xué)生的學(xué)習(xí)興趣。網(wǎng)站滿足在Internet上運行的條件,并具備安全、穩(wěn)定、下載快的特點。學(xué)生可以很方便的通過本網(wǎng)站進行資料下載、在線學(xué)習(xí),具有很高的應(yīng)用價值。關(guān)鍵字:遠程教學(xué),JSP,B/S結(jié)構(gòu)AbstractAlong with information ages arrival, the cycle which the human knowledge renews is gettin
4、g more and more short. How to enable the teaching, training to satisfy the different place and the different study time peoples need, the traditional educational mode face-to-face already lacked the ability to do what one would like in this aspect. In this case, the study website arises at the histo
5、ric moment, and becomes the modern education development the new tendency.This design mainly includes on-line teaching system program analysis and the plan design, introduced in the entire design processs mentality and uses the technology, how as well as does realize this systems each function. The
6、overall system take JSP as the programming language, the database unified with SQLSERVER2000, has manifested the interactive principle, raised schoolmates innovation ability, transferred students study interest fully. The website satisfies the condition which moves on Internet, and has safely, stabl
7、e, downloads the quick characteristic. The student may very convenient carry on courseware downloading, the online video frequency study through this website, has the very high application value.Key words:On-line teaching,SQLSERVER2000,B/S structure1、 引言1.1 背景和發(fā)展隨著信息技術(shù)的發(fā)展,在20世紀(jì)50年代后期,人們開始利用廣播電視技術(shù)進行遠
8、程教育。由于中國人口眾多,教育資源相對匱乏,教育水平總體上還比較低下,不能適應(yīng)經(jīng)濟建設(shè)與社會發(fā)展的需要,因此在60年代初,我國幾個大型城市開始試行廣播電視教育,由此社會化大規(guī)模的教育形式開始形成。遠程教育應(yīng)該關(guān)注的是如何能夠大規(guī)模、高質(zhì)量地讓學(xué)生學(xué)得快、學(xué)得好,使學(xué)生在主動和自主學(xué)習(xí)方面有更大的選擇余地。根據(jù)人的認(rèn)知規(guī)律,應(yīng)用多種技術(shù)媒體進行組合教學(xué),以調(diào)動學(xué)習(xí)者多種感覺器官多渠道接受一定強度的刺激,使之產(chǎn)生較深的印象,從而學(xué)得更快更好。在眾多的現(xiàn)代教學(xué)媒體中,多媒體計算機不僅具有計算機的存儲記憶、高速運算、邏輯判斷、自動運行的功能,更可以把符號、語言、文字、聲音、圖形、動畫和視頻圖像等多種媒
9、體信息集成于一體,并采用了圖形交互界面、窗口交互換作及觸摸技術(shù),使人機交互能力大大提高。多媒體計算機具有很高的運算速度和數(shù)據(jù)處理能力,可以在很短的時間內(nèi)傳輸、儲存、提取或呈現(xiàn)大量的語言、圖像,而且隨著網(wǎng)絡(luò)的發(fā)展,通過網(wǎng)絡(luò)可以提取遠程服務(wù)器或計算機中的教學(xué)內(nèi)容而不受時間和空間的限制。這是其他任何傳統(tǒng)媒體所無法達到的。它正作為一種重要教學(xué)媒體迅速地應(yīng)用于教學(xué)過程中,對促進教學(xué)現(xiàn)代化起著十分重要的作用。本系統(tǒng)就是基于INTERNET跟多媒體計算機的這種圖文并茂,易于學(xué)生理解、學(xué)習(xí)的優(yōu)勢產(chǎn)生的,使教學(xué)內(nèi)容而不受時間和空間的限制,學(xué)生可以根據(jù)自己的需要選擇要學(xué)習(xí)的內(nèi)容, 1.2 可行性分析1.2.1 技
10、術(shù)可行性本系統(tǒng)僅需要一臺裝有IE瀏覽器的計算機即可,對機器本身沒有太高的要求,一般當(dāng)前學(xué)?;騻€人電腦完全可滿足要求。對于軟件技術(shù)要求,現(xiàn)在的程序設(shè)計語言已非常成熟,要運用HTML樣式,圖形圖象制作工具來制作生動活潑的網(wǎng)頁及美觀的圖形文件或動畫文件。1.2.2 經(jīng)濟可行性由于本系統(tǒng)是為學(xué)生學(xué)習(xí)使用的系統(tǒng),裝上該應(yīng)用軟件,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當(dāng)系統(tǒng)投入運行后可以為學(xué)校節(jié)約大量的人力,物力。所帶來的效益遠遠大于系統(tǒng)軟件的開發(fā)成本。在經(jīng)濟上完全可行。1.2.3 操作可行性界面設(shè)計時充分考慮管理人員的習(xí)慣,使得操作簡單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計準(zhǔn)確;制表靈活;適應(yīng)力強
11、;容易擴充。1.3 課題的目的意義網(wǎng)絡(luò)教育作為現(xiàn)代教育的一個重要組成部分,日益受到人們的重視。本系統(tǒng)就是為了學(xué)生更好的學(xué)習(xí)而設(shè)計的,本網(wǎng)站主要體現(xiàn)了交互性的原則,培養(yǎng)同學(xué)們的創(chuàng)新能力,充分調(diào)動學(xué)生的學(xué)習(xí)興趣。網(wǎng)站滿足在Internet上運行的條件,并具備安全、穩(wěn)定、下載快的特點。充分利用計算機的表現(xiàn)力,方便學(xué)習(xí)者學(xué)習(xí),提高學(xué)習(xí)者的學(xué)習(xí)興趣和自覺性。教學(xué)內(nèi)容符合課程的內(nèi)在邏輯體系。符合學(xué)習(xí)者的認(rèn)知規(guī)律,在疑難關(guān)鍵知識點上提供多種形式和多層次的學(xué)習(xí)內(nèi)容,并提供練習(xí)題、測試題。交互性強,學(xué)習(xí)者可以根據(jù)自己的愛好或需要,對學(xué)習(xí)內(nèi)容進行選擇或改變知識點的學(xué)習(xí)路線。2、相關(guān)技術(shù)簡介2.1 JSP技術(shù)簡介J
12、SP(Java Server Page服務(wù)器網(wǎng)頁)是從1998年開始出現(xiàn)的新技術(shù)。由Sun公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),是基于JavaServlet以及整個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)建顯示動態(tài)生成內(nèi)容的web頁面提供了簡便的方法。JSP作為Java家族的一員,承襲了Java的特點,即跨平臺的特性,也即一次編譯,到處運行。在國外,己經(jīng)大量使用JSP作為網(wǎng)絡(luò)應(yīng)用程序的開發(fā)工具,而在國內(nèi),盡管JSP還不是主流開發(fā)技術(shù),但是由于JSP的強大優(yōu)
13、勢,許多網(wǎng)站都已經(jīng)準(zhǔn)備轉(zhuǎn)向JSP,利用JSP來開發(fā)動態(tài)網(wǎng)站。 2.2 JSP工作原理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ù)器
14、后臺數(shù)據(jù)庫的三層架構(gòu)模式。因為JSP所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果。2.3 JSP體系結(jié)構(gòu)JSP網(wǎng)站開發(fā)標(biāo)準(zhǔn)給出了兩種使用JSP的技術(shù),可以歸納為模式一、模式二。模式一:JSP+JavaBeans技術(shù)在這種模式中,JSP頁面獨自響應(yīng)請求并將處理結(jié)果返回給客戶。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)用,不能夠滿足大
15、型應(yīng)用的需要。模式二:JSP+Servlet+JavaBeans技術(shù)Servlet技術(shù)是一種采用Java技術(shù)來實現(xiàn)CGI功能的一種技術(shù),Servlet技術(shù)非常適于服務(wù)器端的處理和編程,并且Servlet會長期駐留在內(nèi)存。從開發(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)
16、網(wǎng)頁并返回給瀏覽器。而JavaBeans對應(yīng)的是Model,實現(xiàn)各個具體的應(yīng)用邏輯與功能。2.4 JSP的特點1. 簡化的頁面生成技術(shù)。JSP頁面用標(biāo)準(zhǔn)的HTML或XML命令來處理頁面的格式化和布局設(shè)計,而用類似HTML、XML的標(biāo)記和Java語言編寫的腳本程序生成頁面內(nèi)容。這使得頁面形式與頁面內(nèi)容互相獨立,非常有利于大型項目的分工合作。2. 與Java平臺有機集成。JSP技術(shù)是Java 2平臺的重要組成部分,JSP使用Java語言作為它的腳本語言。在JSP頁面中可以使用幾乎所有的Java組件和Java API,這就能充分發(fā)揮出Java語言的強大功能。使用JSP技術(shù)可以創(chuàng)建具有高度可伸縮性和可
17、靠性的Web應(yīng)用程序。3. 硬件平臺和服務(wù)器無關(guān)性。JSP作為Java家族的一員,秉承了Java技術(shù)的“一次編寫,隨處可用(Write Once,Rum Anywhere)”的特性,可以運行于大多數(shù)流行的操作系統(tǒng)平臺及Web服務(wù)器,這種與服務(wù)器硬件和操作系統(tǒng)平臺的無關(guān)性是JSP相對于其它動態(tài)網(wǎng)頁技術(shù)最大的一個優(yōu)點。4. 功能可擴展性。如同Microsoft的JSP技術(shù)可以通過ActiveX/COM組件來擴展功能一樣,JSP可以通過JavaBean和EJB(Enterprise JavaBean)以及自定義的標(biāo)記來擴展功能。JSP可以通過JDBC,與諸如Oracle、SQL Server這樣的大
18、型關(guān)系數(shù)據(jù)庫進行連接。JSP提供了一些隱含對象。這些隱含對象在JSP頁面中可以直接引用,而不必首先聲明。利用JSP提供的這些隱含對象,可以使腳本功能更加強大,并且編程更加容易、方便。例如,利用request對象,可以很容易地接收用戶在HTML表單中提交的信息。2.5 SQLSERVER 2000 數(shù)據(jù)庫SQL Server是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個OS/2版本。 SQL Server近年來不斷更新版本,1996年,Microsoft 推出了SQ
19、L Server 6.5版本;1998年,SQL Server 7.0版本和用戶見面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。 SQL Server 特點:1真正的客戶機/服務(wù)器體系結(jié)構(gòu)。 2圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。 3豐富的編程接口工具,為用戶進行程序設(shè)計提供了更大的選擇余地。 4SQL Server與Windows NT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft BackOffice產(chǎn)品集成。 5具有很好的伸縮性,可跨越從運行Windows
20、95/98的膝上型電腦到運行Windows 2000的大型多處理器等多種平臺使用。 6對Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。 7SQL Server提供數(shù)據(jù)倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。2.6 系統(tǒng)數(shù)據(jù)庫連接JDBC技術(shù)是Java DataBase Connectivity的縮寫,它是SUN公司提供的一種支持基本SQL功能的通用的應(yīng)用程序接口(Application Programming Interface)。它由一組用Java語言編寫的類和接口組成。通過這些類和接口,程序開發(fā)人員可以在Java語言中方便地建立與數(shù)據(jù)庫的鏈
21、接,通過執(zhí)行相應(yīng)SQL語句,完成對不同數(shù)據(jù)庫的訪問。因此,開發(fā)人員使用JDBC API可以不必編寫一個應(yīng)用程序來訪問Sybase數(shù)據(jù)庫,又另外編寫一個應(yīng)用程序去訪問Oracle數(shù)據(jù)庫,再寫一個應(yīng)用程序訪問Microsoft的SQL Server。不但如此,使用Java語言編寫的應(yīng)用程序可以在任何支持Java的平臺上運行,不必在不同的平臺上開發(fā)不同的應(yīng)用程序。簡單地說,JDBC能完成下列三件事:1. 同一個數(shù)據(jù)庫建立連接;2. 向數(shù)據(jù)庫建立連接;3. 處理數(shù)據(jù)庫返回的結(jié)果。JDBC是一種通用低層的應(yīng)用程序編程接口,它在不同的數(shù)據(jù)庫功能模塊的層次上提供一個統(tǒng)一的用戶界面。說JDBC是一處低級的AP
22、I,是指它直接調(diào)用SQL命令,它比其他的一些數(shù)據(jù)庫連接API要容易使用些,但它有同樣可以作為更高級的,用戶辦面更友好的API或開發(fā)工具基礎(chǔ)。很多可視化的Java開發(fā)工具,如Visual Age For Java、Visual Caf、J+等都提供了基于JDBC的更面向用戶的類和包,直接將關(guān)系數(shù)據(jù)庫的表或視圖映射為Java類,程序員通過可視化工具直接對Java對象進行操作,而真正需要的SQL調(diào)用則根據(jù)程序員發(fā)出的對對象的各種屬性、方法的操作來自動產(chǎn)生。另一種使用JDBC API 的方式為,用戶程序可以提供一個界面(如菜單等)讓用戶選擇對數(shù)據(jù)庫進行的操作,選中一個任務(wù)后,提示用戶輸入一些必要的信息
23、,然后根據(jù)用戶的輸入產(chǎn)生相應(yīng)的SQL命令以及Java程序。通過這處方式,用戶可以完成對數(shù)據(jù)庫的操作,即使他并不了解SQL語法以及JDBC編程。數(shù)據(jù)庫訪問的三層結(jié)構(gòu)如圖5.1所示,瀏覽器端程序要訪問數(shù)據(jù)庫,首先通過中間件,然后由中間件對數(shù)據(jù)庫操作權(quán)限進行認(rèn)證,認(rèn)證通過才能對數(shù)據(jù)庫進行操作。圖5.1 使用中間件的數(shù)據(jù)庫訪問三層結(jié)構(gòu)用戶對數(shù)據(jù)庫的存取權(quán)限認(rèn)證是中間件中完成,對數(shù)據(jù)庫的查詢、插入、更新和刪除操作等都封裝在中間件中,該中間件位于服務(wù)器端,中間件對數(shù)據(jù)庫進行操作后,再將處理結(jié)果通過Web服務(wù)器返回到瀏覽器端用戶。這樣,在用戶端輸入的用戶名和密碼,可以通過加密算法進行加密后在網(wǎng)絡(luò)上傳輸,在中
24、間件中進行解密認(rè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é)果返回”中間層”,然后”中間層”將它們返回用戶。其模型如圖5.2所示。圖5.2 JDBC的三層模型因為”中間層”可以進行對訪問的控制并協(xié)同數(shù)據(jù)庫的更新,并且可以使用一個易用的高層API,這個API可以由“中間層”進行轉(zhuǎn)換,轉(zhuǎn)換成低層的調(diào)用。所以在許多種情況下,三層模型可以提供更好的性能,本系統(tǒng)中所采用的就是此種模型。J
25、DBC是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(Java VirtualL Machine)中,本系統(tǒng)中利用java.lang.Class類內(nèi)的forName()靜態(tài)函數(shù)依據(jù)指定的類名稱,將JDBC驅(qū)動程序載入進來。完成載入驅(qū)動程序的步驟后,必須使用java.sal.DriverManager類
26、所提供的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)生一個Resul
27、tSet 對象。數(shù)據(jù)庫連接如圖5.3所示:圖5.3 數(shù)據(jù)庫的連接處理數(shù)據(jù)庫的連接處理具體實現(xiàn)如下:/建立JDBCODBC橋sun.jdbc.odbc.JdbcOdbcDriver;/橋建立不成功時的錯誤處理catch(ClassNotFoundException event)/建立與數(shù)據(jù)庫的連接,并發(fā)送SQL查詢語句,將結(jié)果保存到rs對象中Con=建立JDBCODBC橋Sql=SQL查詢語句執(zhí)行查詢Rs=返回結(jié)果/SQL出錯處理 catch(SQLException e1)有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數(shù)據(jù)庫
28、專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應(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ù)
29、據(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ù)庫之間進行對話的方法。而 JDBC 正是作為此種用途的機制。 JDBC 擴展了 Java 的功能。例如,用 Java 和 JDBC API 可以發(fā)布含有 applet 的網(wǎng)頁,而該 applet 使用的信息可能來自遠程數(shù)據(jù)庫企業(yè)也可以用 JDBC 通過 Intran
30、et 將所有職員連到一個或多個內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計算機有 Windows、 Macintosh 和UNIX 等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。 MIS 管理員們都喜歡 Java 和 JDBC 的結(jié)合,因為它使信息傳播變得容易和經(jīng)濟。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對于商務(wù)上的銷售信
31、息服務(wù), Java 和JDBC 可為外部客戶提供獲取信息更新的更好方法。簡單地說,JDBC 可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送 SQL 語句并處理結(jié)果。下列代碼段給出了以上三步的基本示例: Connection con = DriverManager.getConnection(jdbc:odbc:wombat,login, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Table1); while (rs.next() int x
32、= rs.getInt(a); String s = rs.getString(b); float f = rs.getFloat(c); 上述代碼對基于JDBC的數(shù)據(jù)庫訪問做了經(jīng)典的總結(jié)。3、概要設(shè)計3.1 基本思路充分利用現(xiàn)有網(wǎng)絡(luò)的軟硬件資源,應(yīng)用WEB的開放式技術(shù),建立遠程教學(xué)平臺的基本目標(biāo)就是為網(wǎng)絡(luò)教學(xué)提供一種交互、開放、易用的環(huán)境,為開發(fā)應(yīng)用網(wǎng)上教學(xué)資源提供豐富高效的技術(shù)手段及其軟件工具。圍繞實現(xiàn)這個目標(biāo),應(yīng)用平臺的開發(fā)設(shè)計必須突出堅持教學(xué)內(nèi)容與技術(shù)手段相結(jié)合以內(nèi)容為主的主體性要求;既要立足當(dāng)今先進技術(shù),又要考慮未來技術(shù)發(fā)展的前瞻性要求;最大限度地適應(yīng)于各種軟硬件環(huán)境,兼顧不同學(xué)科的
33、教學(xué)特點,適用于不同水平用戶群的通用性要求;以盡可能低廉的投入而獲得盡可能高效的教學(xué)效益的經(jīng)濟性要求。目前的網(wǎng)絡(luò)教學(xué)系統(tǒng),一般是在局域網(wǎng)上建立WEB教學(xué)站點,教學(xué)內(nèi)容以WEB頁面的課件形式出現(xiàn)在站點中。3.2 基本思想在總體結(jié)構(gòu)上采用三層B/S結(jié)構(gòu):各類教學(xué)資源在服務(wù)器一端,采取數(shù)據(jù)庫(例如:SQL Server2000)統(tǒng)一存放和組織,用戶在客戶機一端,無須任何配置工作,只須使用瀏覽器向WEB服務(wù)器代理提出訪問請求,服務(wù)器審核后通過中間控件與后臺數(shù)據(jù)庫鏈接,把請求服務(wù)的教學(xué)內(nèi)容以WEB頁面形式通過瀏覽器反饋給用戶。一個完整的基于WEB的遠程教學(xué)平臺應(yīng)該是專門為基于雙向通信網(wǎng)絡(luò)的教學(xué)而提供全面
34、服務(wù)的軟件系統(tǒng)。3.3 系統(tǒng)功能概述本系統(tǒng)是一套基于Internet的教學(xué)交互平臺。通過該系統(tǒng),教師可以方便的管理學(xué)生、管理課程、上傳資料等操作,學(xué)生可以方便地學(xué)習(xí)、互動交流、下載資料。系統(tǒng)提供完善的用戶管理及其他管理功能;具有可靠的安全性,各級用戶權(quán)限嚴(yán)格限制,每個用戶只能訪問他應(yīng)該訪問的內(nèi)容;用戶通過統(tǒng)一的Web界面訪問該系統(tǒng),將所有功能集成在Web中。為了方便用戶的操作,減少不必要的重復(fù)學(xué)習(xí)時間,用戶只須掌握對瀏覽器如Netscape、Internet Explorer的使用,便可以使用本系統(tǒng)。功能模塊圖如下:網(wǎng)絡(luò)教學(xué)平臺學(xué)生會有管理遠程教學(xué)管理課程信息管理學(xué)習(xí)資料管理密碼信息管理系統(tǒng)用
35、戶管理資料管理密碼管理下載資料在線學(xué)習(xí)在線交流查詢課程管理員學(xué)生3.4 系統(tǒng)E-R圖密碼用戶名管理員管理信息課程管理系統(tǒng)設(shè)置學(xué)生管理在線測試管理4、系統(tǒng)設(shè)計4.1 處理流程設(shè)計4.1.1 系統(tǒng)操作流程圖錯誤信息系統(tǒng)主界面系統(tǒng)登錄界面系統(tǒng)管理輸入操作員及密碼數(shù)據(jù)庫檢查密碼錯誤密碼正確功能界面功能處理4.1.2 數(shù)據(jù)增加流程添加信息時,編號字段由系統(tǒng)自動生成,且不能修改,其他信息由用戶輸入,之后對數(shù)據(jù)進行合法判斷,合法則寫入保存至數(shù)據(jù)庫,不合法則重新輸入數(shù)據(jù)。數(shù)據(jù)增加流程圖:開始自動生成編號輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束圖3.2 數(shù)據(jù)增加流程圖4.1.3 數(shù)據(jù)修改流程在修改信息時,先選中一條待修改
36、的記錄,然后直接輸入數(shù)據(jù),判斷合法性,合法則保存至數(shù)據(jù)庫,不合法重新輸入。數(shù)據(jù)修改流程圖如圖3.3所示。開始選擇需要修改記錄輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束圖3.3 數(shù)據(jù)修改流程圖4.1.4 數(shù)據(jù)刪除流程當(dāng)用戶選定一條記錄時,單擊刪除按鈕,會提示用戶是否確定刪除,然后刪除數(shù)據(jù)庫相關(guān)內(nèi)容。數(shù)據(jù)刪除流程圖如圖3.4所示。開始選擇需要刪除記錄是否刪除更新數(shù)據(jù)庫圖3.4 數(shù)據(jù)刪除流程圖4.2 模塊設(shè)計4.2.1 教師及管理員登陸當(dāng)系統(tǒng)登陸時,首先出現(xiàn)的是一個用戶登陸的界面, 權(quán)限設(shè)置主要是維護系統(tǒng)的安全性和完整性。擁有管理員權(quán)限的操作員能對其他操作員進行相應(yīng)的權(quán)限設(shè)置,沒有權(quán)限的操作員不能對相應(yīng)的窗口進
37、行操作。如下圖所示:4.2.2 學(xué)習(xí)資料管理只有權(quán)限的操作員才能進行學(xué)習(xí)資料管理,界面如下圖所示:4.2.3 遠程教育管理只有教師權(quán)限的操作員才能進行遠程教育管理,包括對遠程教育信息的添加,修改,刪除的功能,界面如下圖所示:4.2.4 在線答疑管理只有教師權(quán)限的操作員才能進行答疑管理,包括對留言的回復(fù)和刪除功能。界面如下圖所示:4.2.5 平臺首頁首頁包括導(dǎo)航條、注冊、登錄連接,以及教學(xué)信息展示,界面如下圖所示:5、系統(tǒng)調(diào)試與測試5.1 程序調(diào)試在設(shè)計系統(tǒng)的過程中,存在一些錯誤是必然的。對于語句的語法錯誤,在程序運行時自動提示,并請求立即糾正,因此,這類錯誤比較容易發(fā)現(xiàn)和糾正。但另一類錯誤是在
38、程序執(zhí)行時由于不正確的操作或?qū)δ承?shù)據(jù)的計算公式的邏輯錯誤導(dǎo)致的錯誤結(jié)果。這類錯誤隱蔽性強,有時會出現(xiàn),有時又不出現(xiàn),因此,對這一類動態(tài)發(fā)生的錯誤的排查是耗時費力的。5.2 程序的測試5.2.1 測試的重要性及目的(1)測試的重要性軟件的測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學(xué)僅處于運行維護階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來,軟件工程界趨向于一種新的觀點,即認(rèn)為軟件生命周期每一階段中都應(yīng)包含測試,從而檢驗本階段的成果是否接近預(yù)期的目標(biāo),盡可能早的發(fā)現(xiàn)錯誤并加以修正,如果不在早期階段進行測試,錯誤的延時擴散常常會導(dǎo)致最后成品測試的巨大困難。
39、 事實上,對于軟件來講,不論采用什么技術(shù)和什么方法,軟件中仍然會有錯。采用新的語言、先進的開發(fā)方式、完善的開發(fā)過程,可以減少錯誤的引入,但是不可能完全杜絕軟件中的錯誤,這些引入的錯誤需要測試來找出,軟件中的錯誤密度也需要測試來進行估計。測試是所有工程學(xué)科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設(shè)計的那天起測試就一直伴隨著。統(tǒng)計表明,在典型的軟件開發(fā)項目中,軟件測試工作量往往占軟件開發(fā)總工作量的40以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30到50。如果把維護階段也考慮在內(nèi),討論整個軟件生存期時,測試的成本比例也許會有所降低,但實際上維護工作相當(dāng)于二次開發(fā),乃至多次開發(fā),其中必定
40、還包含有許多測試工作。 在實踐中,軟件測試的困難常常使人望而卻步或敷衍了事,這是由于對測試仍然存在一些不正確的看法和錯誤的態(tài)度,這包括: 認(rèn)為測試工作不如設(shè)計和編碼那樣容易取得進展難以給測試人員某種成就感; 以發(fā)現(xiàn)軟件錯誤為目標(biāo)的測試是非建設(shè)性的,甚至是破壞性的,測試中發(fā)現(xiàn)錯位是對責(zé)任者工作的一種否定; 測試工作枯燥無味,不能引起人們的興趣; 測試工作是艱苦而細(xì)致的工作; 對自己編寫的程序盲目自信,在發(fā)現(xiàn)錯誤后,顧慮別人對自己的開發(fā)能力的看法。 這些觀點對軟件測試工作是極為不利的,必須澄清認(rèn)識、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。 (2)測試的目的 如果測試的目的是為了盡可能多地找出錯誤,那么
41、測試就應(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)前所采用的軟件過程的缺陷,以便改進。同時,這種分
42、析也能幫助我們設(shè)計出有針對性地檢測方法,改善測試的有效性。其次,沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定測試質(zhì)量的一種方法。5.2.2 測試的步驟與開發(fā)過程類似,測試過程也必須分步驟進行,每個步驟在邏輯上是前一個步驟的繼續(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)需求說明書中的錯誤。5.2.3 測試的主要內(nèi)容
43、為了保證測試的質(zhì)量,將測試過程分成幾個階段,即:代碼審查、單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試。 (1)單元測試 單元測試集中在檢查軟件設(shè)計的最小單位模塊上,通過測試發(fā)現(xiàn)實現(xiàn)該模塊的實際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯誤。 (2)集成測試 集成測試是將模塊按照設(shè)計要求組裝起來同時進行測試,主要目標(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)
44、集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了,接著就應(yīng)該進一步驗證軟件的有效性,這就是確認(rèn)測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。 (4)系統(tǒng)測試 軟件開發(fā)完成以后,最終還要與系統(tǒng)中其他部分配套運行,進行系統(tǒng)測試。包括恢復(fù)測試、安全測試、強度測試和性能測試等。 單獨對系統(tǒng)的測試主要從以下幾方面入手: 功能測試:測試是否滿足開發(fā)要求,是否提供設(shè)計所描述的功能,是否用戶的需求都得到滿足。功能測試是系統(tǒng)測試最常用和必須的測試,通常還會以正式的軟件說明書為測試標(biāo)準(zhǔn)。 強度測試及性能測試:測試系統(tǒng)能力最高實際限度,即軟件在一些超負(fù)荷情況下功能實現(xiàn)
45、的情況。 安全測試:驗證安裝在系統(tǒng)內(nèi)的保護機構(gòu)確實能夠?qū)ο到y(tǒng)進行保護,使之不受各種非常的干擾。針對本系統(tǒng)主要是對權(quán)限系統(tǒng)的測試和對無效數(shù)據(jù)、錯數(shù)據(jù)、和非法數(shù)據(jù)干擾的能力的測試。經(jīng)過上述的測試過程對本平臺進行測試后,平臺基本滿足開發(fā)的要求,測試宣告結(jié)束。 結(jié)束語幾個月來忙碌緊張而又有條不紊的畢業(yè)設(shè)計,使我有機會對本專業(yè)的基本理論、專業(yè)知識和基本技術(shù)有了更深入的了解和體會,使我在四年中所學(xué)到的知識得到了系統(tǒng)和升華,真正達到了學(xué)以致用。 對管理信息系統(tǒng)的體會 管理信息系統(tǒng)是一門融管理科學(xué)、信息科學(xué)、系統(tǒng)科學(xué)、計算機科學(xué)與現(xiàn)代通信技術(shù)為一體的一門綜合性邊緣學(xué)科。它是運用系統(tǒng)的方法以計算機和現(xiàn)代通信技術(shù)
46、為基本信息處理手段和工具的,能為管理決策提供信息服務(wù)的人機系統(tǒng).它可以實現(xiàn)數(shù)據(jù)處理功能、預(yù)測功能、計劃功能、控制功能和輔助決策功能。管理信息系統(tǒng)的開發(fā)是一項復(fù)雜的系統(tǒng)工程,必須嚴(yán)格的按照系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實施、系統(tǒng)運行與評價的開發(fā)步驟來進行。在系統(tǒng)開發(fā)之前,必須了解該系統(tǒng)的特點、適用范圍以及使用者需要一個什么樣的系統(tǒng),以此作為基礎(chǔ)為開發(fā)系統(tǒng)準(zhǔn)確定位,然后對使用者所需實現(xiàn)的功能進行分析總結(jié),根據(jù)使用者的實際要求來給系統(tǒng)設(shè)計一個初步方案。系統(tǒng)的開發(fā)不僅是要實現(xiàn)對數(shù)據(jù)處理的及時與正確,而且要考慮系統(tǒng)是否具有控制功能,及時將數(shù)據(jù)反饋給操作者,以進行監(jiān)測和協(xié)調(diào),保證系統(tǒng)的正常運行;也要考
47、慮是否具有預(yù)測功能,運用一定的數(shù)學(xué)方法利用歷史的數(shù)據(jù)對未來進行預(yù)測的工作。設(shè)計實踐上的體會 在設(shè)計的過程中,我掌握了很多JSP的編程知識,并對這種成熟并廣泛應(yīng)用的技術(shù)進行了深入的學(xué)習(xí)。設(shè)計的過程也是一個再學(xué)習(xí)的過程,在遇到問題的時候我盡量自己想辦法解決,這在很大程度上激發(fā)了我們的自學(xué)能力;在沒有辦法解決的情況下,認(rèn)真的向老師請教,從老師那里我學(xué)到了很多的知識,老師對我的指導(dǎo)起到了畫龍點睛的作用。以往我們曾經(jīng)有過多次設(shè)計的體會,但只是設(shè)計一個模塊或一個小系統(tǒng),而這一次畢業(yè)設(shè)計是綜合所學(xué)的管理和計算機的知識來設(shè)計一個適合運行管理的進銷存系統(tǒng)軟件。要想設(shè)計使用戶滿意,就需要我們付出更多的努力。我在設(shè)計中經(jīng)常出現(xiàn)一些問題不知該如何解決,在此時許多同學(xué)給予了我們幫助。在設(shè)計的過程中增加了于實際接觸的機會,不僅培養(yǎng)了我的自學(xué)和編程能力,讓我在即將離開學(xué)
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年水泥買賣合同(含合同變更和補充條款)
- 2024年度綠色建筑設(shè)計與施工合作協(xié)議書3篇
- 學(xué)困生轉(zhuǎn)化工作計劃
- 小學(xué)校本教研活動計劃
- 電話銷售業(yè)務(wù)員工作計劃
- 勞動合同樣板
- 公司員工自我鑒定
- 制定護士的年度工作計劃
- 政府公共關(guān)系(第二版)課件 第6章 政府的公眾對象與輿論環(huán)境
- 經(jīng)典國學(xué)教學(xué)計劃
- 2024-2030年中國硅肥行業(yè)規(guī)模分析及投資前景研究報告
- 電網(wǎng)行業(yè)工作匯報模板22
- 2024年度跨境電商平臺承包經(jīng)營合同3篇
- 2025年上半年人民日報社招聘應(yīng)屆高校畢業(yè)生85人筆試重點基礎(chǔ)提升(共500題)附帶答案詳解
- 山東省臨沂市2023-2024學(xué)年高二上學(xué)期期末考試生物試題 含答案
- 2024-2025學(xué)年一年級數(shù)學(xué)上冊期末樂考非紙筆測試題(二 )(蘇教版2024秋)
- 辦公樓電氣改造施工方案
- 浙江省衢州市2023-2024學(xué)年高一上學(xué)期期末英語試題(含答案)3
- 上學(xué)期高二期末語文試卷(含答案)
- 超齡員工用工免責(zé)協(xié)議書
- 《雁門太守行》課件
評論
0/150
提交評論