




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、推薦精選摘要隨著現(xiàn)代計(jì)算機(jī)科學(xué)的發(fā)展,網(wǎng)絡(luò)已經(jīng)越來(lái)越普及,如今網(wǎng)絡(luò)已經(jīng)成為每個(gè)人生活的一部分,同時(shí)網(wǎng)絡(luò)也提供了一種很好的信息交換平臺(tái),而網(wǎng)上答疑系統(tǒng)是一個(gè)可以在網(wǎng)絡(luò)上展示個(gè)人信息的方便手段。本文介紹了如何開(kāi)發(fā)網(wǎng)上答疑系統(tǒng)。本文主要介紹了網(wǎng)上答疑系統(tǒng)的主要任務(wù),闡述了開(kāi)發(fā)該系統(tǒng)用到的關(guān)鍵技術(shù),如采用 B/S 結(jié)構(gòu),使用 JSP 編程、利用 SQL2000 建立數(shù)據(jù)庫(kù)、采用 HTML 和腳本等編程技術(shù)。本論文主要分七章,第一章為引言主要介紹其背景和意義等;第二章為系統(tǒng)分析其主要是從組織、業(yè)務(wù)和數(shù)據(jù)流方面進(jìn)行分析,第三章為總體設(shè)計(jì)主要介紹系統(tǒng)的功能;第四章數(shù)據(jù)庫(kù)設(shè)計(jì)主要是介紹數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)和連接方法
2、;第五章詳細(xì)設(shè)計(jì)主要介紹其系統(tǒng)的實(shí)現(xiàn)和功能的描述;第六章為系統(tǒng)測(cè)試和性能分析主要介紹系統(tǒng)的測(cè)試方法、測(cè)試實(shí)例以及性能分析;第七章為系統(tǒng)總結(jié)主要是對(duì)設(shè)計(jì)和對(duì)全文的總結(jié)關(guān)鍵字:關(guān)鍵字:在線答疑系統(tǒng);B/S;JSP;SQL2000。推薦精選AbstractAbstractWith the development of modern computer science, networking has become increasingly popular, and now the network has become a part of life for everyone, while the netw
3、ork also provides an excellent platform for information exchange, while the personal home page is displayed on the network can be an individual a convenient means of information. This article describes how to develop personal website. This paper describes the blog sites main task to explain the deve
4、lopment of the system used in key technologies, such as the use of B / S structure, the use of JSP programming, the use of MYSQL to establish a database, using HTML and script and other programming techniques. This paper mainly consists of seven chapters, the first chapter introduces the background
5、for the introduction and significance; second chapter is mainly for the systematic analysis of their organizational, operational and data flow aspects of analysis, the overall design of the third chapter introduces the function of the system; The fourth chapter is to introduce the database design, d
6、atabase structure, primarily the design and connection method; fifth chapter focuses on the detailed design and functionality of their systems to achieve a description; Chapter VI for system testing and performance analysis focuses on the system testing methods, test examples and performance analysi
7、s; Chapter VII of the summary for the system mainly for the design and summary of the full-text.Keywords:Keywords: blog; B / S; JSP; SQL2000. 推薦精選目錄第一章第一章 緒論緒論 .1 1第二章第二章 主要技術(shù)分析主要技術(shù)分析 .2 22.1 JSP 技術(shù)介紹.22.2 JAVASCRIPT概述 .32.3 UML 概述.32.4 關(guān)于 TOMCAT的安裝和注意事項(xiàng) .42.5 SQL2000 數(shù)據(jù)庫(kù).52.6 系統(tǒng)數(shù)據(jù)庫(kù)連接 .5第三章第三章 系統(tǒng)設(shè)計(jì)系
8、統(tǒng)設(shè)計(jì) .10103.1 可行性研究 .103.1.1 經(jīng)濟(jì)可行性 .103.1.2 技術(shù)可行性 .103.1.3 運(yùn)行可行性 .113.1.4 時(shí)間可行性 .113.1.5 法律可行性 .113.2 需求分析 .113.2.1 系統(tǒng)需求 .113.2.2 性能需求 .113.2.3 應(yīng)用需求分析 .113.2.4 運(yùn)行需求分析 .123.2.5 其他需求分析 .123.3 總體設(shè)計(jì) .123.3.1 總體結(jié)構(gòu) .123.3.2 系統(tǒng)結(jié)構(gòu)數(shù)據(jù)流圖.13第四章第四章 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì) .14144.1 創(chuàng)建數(shù)據(jù)庫(kù) .144.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì) .144.3 數(shù)據(jù)庫(kù)的實(shí)現(xiàn) .18第五章第五
9、章 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) .20205.1 管理員的登錄模塊設(shè)計(jì)與實(shí)現(xiàn) .205.2 管理員主界面設(shè)計(jì)與實(shí)現(xiàn) .215.3 學(xué)生信息管理設(shè)計(jì)與實(shí)現(xiàn) .245.4 教師信息管理設(shè)計(jì)與實(shí)現(xiàn) .25推薦精選第六章第六章 系統(tǒng)的調(diào)試與測(cè)試系統(tǒng)的調(diào)試與測(cè)試 .26266.1 測(cè)試概述 .266.1.1 軟件測(cè)試的目的.266.1.2 軟件測(cè)試的任務(wù).266.1.3 測(cè)試環(huán)境.266.2 單元測(cè)試 .266.2.1 黑盒測(cè)試.266.2.2 白盒測(cè)試.276.2.3 模塊接口測(cè)試.276.3 集成測(cè)試 .276.3.1 自頂向下集成.276.3.2 確認(rèn)測(cè)試標(biāo)準(zhǔn).28第七章第七章 總結(jié)總結(jié) .2929參考文獻(xiàn)
10、參考文獻(xiàn) .3030致致 謝謝 .3131推薦精選第一章 緒論Internet 的迅猛發(fā)展給現(xiàn)代教育注入了新的活力,建立基于 Internet 的遠(yuǎn)程教育已成為當(dāng)前教育中的一個(gè)熱點(diǎn)?,F(xiàn)在,教師和學(xué)生的交流不應(yīng)僅限于在課堂上那短短的時(shí)間,還要在課余時(shí)間為他們創(chuàng)造更多的交流機(jī)會(huì)。由于 Internet 具有影響范圍廣,能夠方便快捷的傳遞信息,具有近乎實(shí)時(shí)的交互性,本身又是一個(gè)巨大無(wú)比的信息庫(kù)等諸多優(yōu)點(diǎn)。利用 Internet 作為遠(yuǎn)距離教育的新型手段,設(shè)計(jì)與實(shí)現(xiàn)教師個(gè)人網(wǎng)上教學(xué)系統(tǒng)??梢约訌?qiáng)教師對(duì)學(xué)生學(xué)習(xí)過(guò)程的指導(dǎo)和管理,學(xué)生及時(shí)反饋學(xué)習(xí)信息,教師指導(dǎo)教學(xué),提高學(xué)習(xí)者綜合素質(zhì)和能力,有針對(duì)性地對(duì)學(xué)
11、習(xí)者進(jìn)行個(gè)別化輔導(dǎo)或指導(dǎo)。我們的目標(biāo)是用教師個(gè)人網(wǎng)上教學(xué)系統(tǒng)使教師在課余時(shí)間也可以不受距離的限制,對(duì)學(xué)生進(jìn)行教學(xué)與管理,力圖為教師和學(xué)生創(chuàng)設(shè)方便的學(xué)習(xí)環(huán)境。在 Internet 飛速發(fā)展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟(jì)、生活等各個(gè)方面發(fā)揮著重要的作用。Internet 上發(fā)布信息主要是通過(guò)網(wǎng)站來(lái)實(shí)現(xiàn)的,獲取信息也是要在 Internet“海洋”中按照一定的檢索方式將所需要的信息從網(wǎng)站上下載下來(lái)。因此網(wǎng)站建設(shè)在 Internet 應(yīng)用上的地位顯而易見(jiàn),它已成為政府、企事業(yè)單位信息化建設(shè)中的重要組成部分,從而倍受人們的重視。為了更好的辦學(xué),提高學(xué)校知名度
12、。 軟件工程實(shí)際上是以工程化的管理方法,實(shí)現(xiàn)軟件開(kāi)發(fā)成本、進(jìn)度、質(zhì)量的控制與管理。網(wǎng)上答疑系統(tǒng),是一種運(yùn)用計(jì)算機(jī)網(wǎng)絡(luò)為工具來(lái)幫助教師與學(xué)生教學(xué)的方式,在這個(gè)過(guò)程中它利用多媒體技術(shù),人工智能技術(shù),網(wǎng)絡(luò)技術(shù)等多種技術(shù)手段。通過(guò)教學(xué)軟件,學(xué)習(xí)平臺(tái)的開(kāi)發(fā)和應(yīng)用,使學(xué)生和計(jì)算機(jī)之間相互作用達(dá)到教學(xué)目的,這是一種現(xiàn)代化教學(xué)手段。網(wǎng)上答疑系統(tǒng)是一種教育觀念與教育方式的結(jié)合,它的引入,豐富了教育教學(xué)手段,向教育現(xiàn)代化邁出了一大步。推薦精選第一章 主要技術(shù)分析1.1 JSP 技術(shù)介紹JSP 的全稱(chēng)是 Java Server Pages,它是由 Sun Microsystems 公司于 1999 年 6 月推出,
13、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。基于 Java Servlet 以及整個(gè)Java 體系的 Web 開(kāi)發(fā)技術(shù)。JSP 技術(shù)是用 JAVA 語(yǔ)言作為腳本語(yǔ)言的,JSP 網(wǎng)頁(yè)為整個(gè)服務(wù)器端的 JAVA 庫(kù)單元提供了一個(gè)接口來(lái)服務(wù)于 HTTP 的應(yīng)用程序。作為 J2EE 體系中的重要一環(huán),JSP 為創(chuàng)建高度動(dòng)態(tài)的 Web 應(yīng)用提供了一個(gè)獨(dú)特的開(kāi)發(fā)環(huán)境。在傳統(tǒng)的網(wǎng)頁(yè) HTML 文件(*.htm,*.html)中加入 Java 程序片段(Scriptlet)和 JSP標(biāo)記(tag),就構(gòu)成了 JSP 網(wǎng)頁(yè)(*.jsp)。Web 服務(wù)器在遇到訪問(wèn) JSP 網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然
14、后將執(zhí)行結(jié)果以 HTML 格式返回給客戶。程序片段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)以及發(fā)送 email 等等,這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對(duì)客戶瀏覽器的要求最低,可以實(shí)現(xiàn)無(wú) Plugin,無(wú) ActiveX,無(wú) Java Applet,甚至無(wú) Frame。 JSP 是一種實(shí)現(xiàn)普通靜態(tài) HTML 和動(dòng)態(tài) HTML 混合編碼的網(wǎng)頁(yè)技術(shù),具有跨平臺(tái)性、運(yùn)行效率高、上手容易等優(yōu)點(diǎn)。在用 JSP 進(jìn)行 WEB 開(kāi)發(fā)時(shí),需要用到應(yīng)用服務(wù)器來(lái)進(jìn)行資源共享、網(wǎng)絡(luò)通信等進(jìn)行分布式應(yīng)用。在支持 JSP 的應(yīng)用服務(wù)器中采用Tomcat。Tomcat
15、是 Apache-Jarkarta 的一個(gè)子項(xiàng)目,是一個(gè)開(kāi)放式源碼、免費(fèi)支持JSP 和 Servlet 技術(shù)的容器,同時(shí)又是一個(gè) WEB 服務(wù)器軟件。在 Servlet 中,許多使用傳統(tǒng) CGI 程序很難完成的任務(wù)都可以輕松地完成。例如,Servlet 能夠直接和 Web 服務(wù)器交互,而普通的 CGI 程序不能。Servlet 還能夠在各個(gè)程序之間共享數(shù)據(jù),使得數(shù)據(jù)庫(kù)連接池之類(lèi)的功能很容易實(shí)現(xiàn)。Servlet 是 Java 技術(shù)對(duì) CGI 編程的回答。Servlet 程序在服務(wù)器端運(yùn)行,動(dòng)態(tài)地生成 Web 頁(yè)面。與傳統(tǒng)的 CGI 和許多其他類(lèi)似 CGI 的技術(shù)相比,Java Servlet 具
16、有更高的效率,更容易使用,功能更強(qiáng)大,具有更好的可移植性,更節(jié)省投資。JSP 的優(yōu)點(diǎn):對(duì)于用戶界面的更新,其實(shí)就是由 Web Server 進(jìn)行的,所以給人的感覺(jué)更新很快。所有的應(yīng)用都是基于服務(wù)器的,所以它們可以時(shí)刻保持最新版本。客戶端的接口不是很繁瑣,對(duì)于各種應(yīng)用易于部署、維護(hù)和修改。JSP 能夠適應(yīng)市場(chǎng)上包括 Apache WebServer、IIS4.0 在內(nèi)的 85的服務(wù)器產(chǎn)品,這足以勝任絕大多數(shù)的商業(yè)事務(wù)處理。同時(shí) JSP 代碼經(jīng)過(guò)服務(wù)器的解釋執(zhí)行后會(huì)直接嵌入到 HTML 語(yǔ)言中,這樣就簡(jiǎn)化了頁(yè)面的輸出,也保留了腳本語(yǔ)言易于使用的優(yōu)點(diǎn)。因此,在開(kāi)發(fā)系統(tǒng)時(shí)本人選用當(dāng)前流行的 JSP 作
17、為主要實(shí)現(xiàn)手段。推薦精選1.2 JavaScript 概述Javascript 是一種解釋性的,基于對(duì)象的腳本語(yǔ)言(an interpreted, object-based scripting language)。HTML 網(wǎng)頁(yè)在互動(dòng)性方面能力較弱,例如下拉菜單,就是用戶點(diǎn)擊某一菜單項(xiàng)時(shí),自動(dòng)會(huì)出現(xiàn)該菜單項(xiàng)的所有子菜單,用純 HTML 網(wǎng)頁(yè)無(wú)法實(shí)現(xiàn);又如驗(yàn)證 HTML 表單(Form)提交信息的有效性,用戶名不能為空,密碼不能少于 4 位,郵政編碼只能是數(shù)字之類(lèi),用純 HTML 網(wǎng)頁(yè)也無(wú)法實(shí)現(xiàn)。要實(shí)現(xiàn)這些功能,就需要用到 Javascript。Javascript 是一種腳本語(yǔ)言,比 HTML
18、 要復(fù)雜。不過(guò)即便你先前不懂編程,也不用擔(dān)心,因?yàn)?Javascript 寫(xiě)的程序都是以源代碼的形式出現(xiàn)的,也就是說(shuō)你在一個(gè)網(wǎng)頁(yè)里看到一段比較好的 Javascript 代碼,恰好你也用得上,就可以直接拷貝,然后放到你的網(wǎng)頁(yè)中去。正因?yàn)榭梢越梃b、參考優(yōu)秀網(wǎng)頁(yè)的代碼,所以讓 Javascript 本身也變得非常受歡迎,從而被廣泛應(yīng)用。原來(lái)不懂編程的人,多參考 Javascript 示例代碼,也能很快上手。Javascript 主要是基于客戶端運(yùn)行的,用戶點(diǎn)擊帶有 Javascript 的網(wǎng)頁(yè),網(wǎng)頁(yè)里的 Javascript 就傳到瀏覽器,由瀏覽器對(duì)此作處理。前面提到的下拉菜單、驗(yàn)證表單有效性等大
19、量互動(dòng)性功能,都是在客戶端完成的,不需要和 Web Server 發(fā)生任何數(shù)據(jù)交換, 因此,不會(huì)增加 Web Server 的負(fù)擔(dān)。幾乎所有瀏覽器都支持 Javascript,如Internet Explorer(IE),F(xiàn)irefox, Netscape, Mozilla, Opera 等。JavaScript 特點(diǎn):JavaScript 使網(wǎng)頁(yè)增加互動(dòng)性。JavaScript 使有規(guī)律地重復(fù)的 HTML 文段簡(jiǎn)化,減少下載時(shí)間。JavaScript 能及時(shí)響應(yīng)用戶的操作,對(duì)提交表單做即時(shí)的檢查,無(wú)需浪費(fèi)時(shí)間交由 CGI 驗(yàn)證。JavaScript 的特點(diǎn)是無(wú)窮無(wú)盡的,只要你有創(chuàng)意。1.3
20、UML 概述UML(統(tǒng)一建模語(yǔ)言)是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語(yǔ)言。它不僅統(tǒng)一了 Booch、Rumbaugh 和 Jacobson 的表示方法,而且對(duì)其作了進(jìn)一步的發(fā)展,并最終統(tǒng)一為大眾所接受的標(biāo)準(zhǔn)建模語(yǔ)言。UML 融合了 Booch、OMT 和 OOSE 方法中的基本概念,而且這些基本概念與其他面向?qū)ο蠹夹g(shù)中的基本概念大多相同,因而,UML 必然成為這些方法以及其他方法的使用者樂(lè)于采用的一種簡(jiǎn)單一致的建模語(yǔ)言;其次,UML 不僅僅是上述方法的簡(jiǎn)單匯合,而是在這些方法的基礎(chǔ)上廣泛征求意見(jiàn),集眾家之長(zhǎng),幾經(jīng)修改而完成的,UML 擴(kuò)展了現(xiàn)有方法的應(yīng)用范圍;第三,UML 是標(biāo)
21、準(zhǔn)的建模語(yǔ)言,而不是標(biāo)準(zhǔn)的開(kāi)發(fā)過(guò)程。盡管 UML 的應(yīng)用必然以系統(tǒng)的開(kāi)發(fā)過(guò)程為背景,但由于不同的組織和不同的應(yīng)用領(lǐng)域,需要采取不同的開(kāi)發(fā)過(guò)程。作為一種建模語(yǔ)言,UML 的定義包括 UML 語(yǔ)義和 UML 表示法兩個(gè)部分。標(biāo)準(zhǔn)建模語(yǔ)言 UML 的主要特點(diǎn)可以歸結(jié)為三點(diǎn): (1) UML 統(tǒng)一了 Booch、OMT 和 OOSE 等方法中的基本概念。 推薦精選(2) UML 還吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域中其他流派的長(zhǎng)處,其中也包括非 OO 方法的影響。UML 符號(hào)表示考慮了各種方法的圖形表示,刪掉了大量易引起混亂的、多余的和極少使用的符號(hào),也添加了一些新符號(hào)。因此,在 UML 中匯入了面向?qū)ο箢I(lǐng)域中很
22、多人的思想。這些思想并不是 UML 的開(kāi)發(fā)者們發(fā)明的,而是開(kāi)發(fā)者們依據(jù)最優(yōu)秀的 OO方法和豐富的計(jì)算機(jī)科學(xué)實(shí)踐經(jīng)驗(yàn)綜合提煉而成的。(3)UML 在演變過(guò)程中還提出了一些新的概念。在 UML 標(biāo)準(zhǔn)中新加了模板(Stereotypes)、職責(zé)(Responsibilities)、擴(kuò)展機(jī)制(Extensibility mechanisms)、線程(Threads)、過(guò)程(Processes)、分布式(Distribution)、并發(fā)(Concurrency)、模式(Patterns)、合作(Collaborations)、活動(dòng)圖(Activity diagram)等新概念,并清晰地區(qū)分類(lèi)型(Type
23、)、類(lèi)(Class)和實(shí)例(Instance)、細(xì)化(Refinement)、接口(Interfaces)和組件(Components)等概念。 因此可以認(rèn)為,UML 是一種先進(jìn)實(shí)用的標(biāo)準(zhǔn)建模語(yǔ)言,但其中某些概念尚待實(shí)踐來(lái)驗(yàn)證,UML 也必然存在一個(gè)進(jìn)化過(guò)程。1.4 關(guān)于 Tomcat 的安裝和注意事項(xiàng)(1)通過(guò)安裝 JBulider9 來(lái)安裝 Tomcat 直接安裝 JBulider9,安裝過(guò)程中會(huì)給出 JVM(Java 虛擬機(jī))的安裝路徑,一般為 JBulider9jdk1.4。 再安裝 Tomcat,安裝過(guò)程中會(huì)詢問(wèn)系統(tǒng)中已有 JVM 的安裝路徑,安裝程序?qū)?huì)自動(dòng)定位 JVM 的位置。
24、最好重新啟動(dòng)一遍計(jì)算機(jī)。 不必配置諸如 Classpath、path、Java Home 等系統(tǒng)環(huán)境變量。 正常啟動(dòng) Tomcat 即可。(2)直接安裝 Tomcat 安裝 JDK1.4,安裝完畢后,按程序要求重新啟動(dòng)計(jì)算機(jī)。 安裝 Tomcat,安裝過(guò)程中會(huì)詢問(wèn)系統(tǒng)中已有 JVM 的安裝路徑,安裝程序?qū)?huì)自動(dòng)定位 JVM 的位置。 需要將 JDK1.4 安裝路徑下的 lib 文件夾中的 tools.jar 文件拷貝到TomCat5.0commonlib 文件下,并且只有在 Tomcat 關(guān)閉條件下,更新才有效。重新啟動(dòng)計(jì)算機(jī)。 不必配置諸如 Class path、path、Java Home
25、 等系統(tǒng)環(huán)境變量。 正常啟動(dòng) Tomcat 即可。(3)注意事項(xiàng) Tomcat 對(duì)文件名(包括路徑和后綴)的大小寫(xiě)是敏感的。 Tomcat 的默認(rèn)網(wǎng)站根路徑為 TomCat5.0WebappsRoot 在編寫(xiě) jsp 文件時(shí),應(yīng)特別注意其文件命名(包括存放路徑)時(shí)最好不要大小推薦精選寫(xiě)混用,應(yīng)統(tǒng)一為小寫(xiě),養(yǎng)成良好編程習(xí)慣。推薦精選(4)如何獲得 Tomcat 的錯(cuò)誤提示信息Tomcat 運(yùn)行時(shí),會(huì)在任務(wù)欄右下角中出現(xiàn)類(lèi)似 MSSQLSERVER 的圖標(biāo),雙擊即可得到錯(cuò)誤提示信息列表窗口。1.5 SQL2000 數(shù)據(jù)庫(kù)SQL Server 是由 Microsoft 開(kāi)發(fā)和推廣的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)
26、(DBMS),它最初是由 Microsoft、Sybase 和 Ashton-Tate 三家公司共同開(kāi)發(fā)的,并于 1988 年推出了第一個(gè) OS/2 版本。 SQL Server 近年來(lái)不斷更新版本,1996 年,Microsoft 推出了 SQL Server 6.5 版本;1998 年,SQL Server 7.0 版本和用戶見(jiàn)面;SQL Server 2000 是Microsoft 公司于 2000 年推出的最新版本。 SQL Server 特點(diǎn):1真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。 2圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫(kù)管理更加直觀、簡(jiǎn)單。 3豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大
27、的選擇余地。 4SQL Server 與 Windows NT 完全集成,利用了 NT 的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQL Server 也可以很好地與 Microsoft BackOffice 產(chǎn)品集成。 5具有很好的伸縮性,可跨越從運(yùn)行 Windows 95/98 的膝上型電腦到運(yùn)行 Windows 2000 的大型多處理器等多種平臺(tái)使用。 6對(duì) Web 技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)布到 Web 頁(yè)面上。 7SQL Server 提供數(shù)據(jù)倉(cāng)庫(kù)功能,這個(gè)功能只在 Oracle 和其他更昂貴的 DBMS 中才有。1.6 系統(tǒng)數(shù)據(jù)庫(kù)連接JDBC 技術(shù)是 J
28、ava DataBase Connectivity 的縮寫(xiě),它是 SUN 公司提供的一種支持基本 SQL 功能的通用的應(yīng)用程序接口(Application Programming Interface)。它由一組用 Java 語(yǔ)言編寫(xiě)的類(lèi)和接口組成。通過(guò)這些類(lèi)和接口,程序開(kāi)發(fā)人員可以在 Java語(yǔ)言中方便地建立與數(shù)據(jù)庫(kù)的鏈接,通過(guò)執(zhí)行相應(yīng) SQL 語(yǔ)句,完成對(duì)不同數(shù)據(jù)庫(kù)的訪問(wèn)。因此,開(kāi)發(fā)人員使用 JDBC API 可以不必編寫(xiě)一個(gè)應(yīng)用程序來(lái)訪問(wèn) Sybase 數(shù)據(jù)庫(kù),又另外編寫(xiě)一個(gè)應(yīng)用程序去訪問(wèn) Oracle 數(shù)據(jù)庫(kù),再寫(xiě)一個(gè)應(yīng)用程序訪問(wèn)的 MYSQL。不但如此,使用 Java 語(yǔ)言編寫(xiě)的應(yīng)用程
29、序可以在任何支持 Java 的平臺(tái)上運(yùn)行,不必在不同的平臺(tái)上開(kāi)發(fā)不同的應(yīng)用程序。簡(jiǎn)單地說(shuō),JDBC 能完成下列三件事:1. 同一個(gè)數(shù)據(jù)庫(kù)建立連接;2. 向數(shù)據(jù)庫(kù)建立連接;推薦精選3. 處理數(shù)據(jù)庫(kù)返回的結(jié)果。JDBC 是一種通用低層的應(yīng)用程序編程接口,它在不同的數(shù)據(jù)庫(kù)功能模塊的層次上提供一個(gè)統(tǒng)一的用戶界面。說(shuō) JDBC 是一處低級(jí)的 API,是指它直接調(diào)用 SQL 命令,它比其他的一些數(shù)據(jù)庫(kù)連接 API 要容易使用些,但它有同樣可以作為更高級(jí)的,用戶辦面更友好的 API 或開(kāi)發(fā)工具基礎(chǔ)。很多可視化的 Java 開(kāi)發(fā)工具,如 Visual Age For Java、Visual Caf、J+等都提
30、供了基于 JDBC 的更面向用戶的類(lèi)和包,直接將關(guān)系數(shù)據(jù)庫(kù)的表或視圖映射為 Java類(lèi),程序員通過(guò)可視化工具直接對(duì) Java 對(duì)象進(jìn)行操作,而真正需要的 SQL 調(diào)用則根據(jù)程序員發(fā)出的對(duì)對(duì)象的各種屬性、方法的操作來(lái)自動(dòng)產(chǎn)生。另一種使用 JDBC API 的方式為,用戶程序可以提供一個(gè)界面(如菜單等)讓用戶選擇對(duì)數(shù)據(jù)庫(kù)進(jìn)行的操作,選中一個(gè)任務(wù)后,提示用戶輸入一些必要的信息,然后根據(jù)用戶的輸入產(chǎn)生相應(yīng)的 SQL命令以及 Java 程序。通過(guò)這處方式,用戶可以完成對(duì)數(shù)據(jù)庫(kù)的操作,即使他并不了解SQL 語(yǔ)法以及 JDBC 編程。數(shù)據(jù)庫(kù)訪問(wèn)的三層結(jié)構(gòu)如圖 2-1 所示,瀏覽器端程序要訪問(wèn)數(shù)據(jù)庫(kù),首先通過(guò)
31、中間件,然后由中間件對(duì)數(shù)據(jù)庫(kù)操作權(quán)限進(jìn)行認(rèn)證,認(rèn)證通過(guò)才能對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。圖 2-1 使用中間件的數(shù)據(jù)庫(kù)訪問(wèn)三層結(jié)構(gòu)用戶對(duì)數(shù)據(jù)庫(kù)的存取權(quán)限認(rèn)證是中間件中完成,對(duì)數(shù)據(jù)庫(kù)的查詢、插入、更新和刪除操作等都封裝在中間件中,該中間件位于服務(wù)器端,中間件對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作后,再將處理結(jié)果通過(guò) Web 服務(wù)器返回到瀏覽器端用戶。這樣,在用戶端輸入的用戶名和密碼,可以通過(guò)加密算法進(jìn)行加密后在網(wǎng)絡(luò)上傳輸,在中間件中進(jìn)行解密認(rèn)證,然后再進(jìn)行數(shù)據(jù)庫(kù)的存取操作,數(shù)據(jù)庫(kù)存取權(quán)限的用戶名和密碼出現(xiàn)在位于服務(wù)器端的中間件中,這樣就更加安全。本系統(tǒng)采用的正是這樣的三層結(jié)構(gòu)的數(shù)據(jù)庫(kù)訪問(wèn)模式。在三層模型中,命令將被發(fā)送到服務(wù)的”
32、中間層” ,而”中間層”將 SQL 語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)處理 SQL 語(yǔ)句并將結(jié)果返回“中間層” ,然后“中間層”將它們返回用戶。其模型如圖 2-2 所示。推薦精選圖 2-2 JDBC 的三層模型因?yàn)椤爸虚g層”可以進(jìn)行對(duì)訪問(wèn)的控制并協(xié)同數(shù)據(jù)庫(kù)的更新,并且可以使用一個(gè)易用的高層 API,這個(gè) API 可以由“中間層”進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成低層的調(diào)用。所以在許多種情況下,三層模型可以提供更好的性能,本系統(tǒng)中所采用的就是此種模型。JDBC 是 JAVA 應(yīng)用程序與數(shù)據(jù)庫(kù)的溝通橋梁。它提供了三項(xiàng)服務(wù)功能:一、與數(shù)據(jù)庫(kù)建立連接。二、將 SQL 語(yǔ)句傳遞給數(shù)據(jù)庫(kù)。三、從數(shù)據(jù)庫(kù)取得 SQL 語(yǔ)句的執(zhí)行結(jié)果。當(dāng)
33、 JDBC 要與數(shù)據(jù)庫(kù)建立連接前,首先,它必須先取得連接此數(shù)據(jù)庫(kù)的 JDBC 驅(qū)動(dòng)程序,Class.forName()即是在執(zhí)行此項(xiàng)工作。建立數(shù)據(jù)庫(kù)連接的第一步驟就是將 JDBC 驅(qū)動(dòng)程序的類(lèi)載入至 JVM(Java VirtualL Machine)中,本系統(tǒng)中利用 java.lang.Class類(lèi)內(nèi)的 forName()靜態(tài)函數(shù)依據(jù)指定的類(lèi)名稱(chēng),將 JDBC 驅(qū)動(dòng)程序載入進(jìn)來(lái)。完成載入驅(qū)動(dòng)程序的步驟后,必須使用 java.sal.DriverManager 類(lèi)所提供的getConnection()靜態(tài)函數(shù),取得與數(shù)據(jù)庫(kù)間的連接對(duì)象。此連接對(duì)象的類(lèi)類(lèi)型為java.sal.Connection
34、,必須通過(guò)它才能將 SQL 指令傳遞給數(shù)據(jù)庫(kù),而執(zhí)行結(jié)果也需要通過(guò)連接對(duì)象來(lái)取得。當(dāng)取得連接對(duì)象后,還必須取得 Statement 對(duì)象才能對(duì)數(shù)據(jù)庫(kù)執(zhí)行 SQL 指令。Statement 主要實(shí)現(xiàn)兩個(gè)功能:執(zhí)行 SQL 語(yǔ)句以及取得執(zhí)行結(jié)果。在java.sql.Statement 的 sql 對(duì)象中執(zhí)行查詢或修改命令的函數(shù)后傳回的是一個(gè)ResultSet 對(duì)象,這個(gè)對(duì)象提供了一個(gè)存取 SQL 執(zhí)行結(jié)果的管道,以便通過(guò)它將表格推薦精選數(shù)據(jù)從數(shù)據(jù)庫(kù)中取出。每個(gè)推薦精選Statement 對(duì)象只能產(chǎn)生一個(gè) ResultSet 對(duì)象。數(shù)據(jù)庫(kù)連接如圖 2-3 所示:建立JDBC-ODBC橋建立數(shù)據(jù)庫(kù)連接
35、建立是否成功出錯(cuò)處理否是執(zhí)行SQL操作SQL是否出錯(cuò)返回錯(cuò)誤信息返回執(zhí)行結(jié)果是否圖 2-3 數(shù)據(jù)庫(kù)的連接處理數(shù)據(jù)庫(kù)的連接處理具體實(shí)現(xiàn)如下:/建立 JDBCODBC 橋sun.jdbc.odbc.JdbcOdbcDriver;/橋建立不成功時(shí)的錯(cuò)誤處理catch(ClassNotFoundException event)/建立與數(shù)據(jù)庫(kù)的連接,并發(fā)送 SQL 查詢語(yǔ)句,將結(jié)果保存到 rs 對(duì)象中Con=建立 JDBCODBC 橋Sql=SQL 查詢語(yǔ)句執(zhí)行查詢Rs=返回結(jié)果/SQL 出錯(cuò)處理 catch(SQLException e1)有了 JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送 SQL 語(yǔ)句就是一件很容易
36、的事。換言之,有了JDBC API,就不必為訪問(wèn) Sybase 數(shù)據(jù)庫(kù)專(zhuān)門(mén)寫(xiě)一個(gè)程序,為訪問(wèn) Oracle 數(shù)據(jù)庫(kù)又專(zhuān)門(mén)寫(xiě)一個(gè)程序,或?yàn)樵L問(wèn) Informix 數(shù)據(jù)庫(kù)又編寫(xiě)另一個(gè)程序等等,程序員只需用 JDBC 推薦精選API 寫(xiě)一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫(kù)發(fā)送 SQL 調(diào)用。同時(shí),將 Java 語(yǔ)言和 JDBC結(jié)合起來(lái)使程序員不必為不同的平臺(tái)編寫(xiě)不同的應(yīng)用程序,只須寫(xiě)一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是 Java 語(yǔ)言“編寫(xiě)一次,處處運(yùn)行”的優(yōu)勢(shì)。推薦精選Java 數(shù)據(jù)庫(kù)連接體系結(jié)構(gòu)是用于 Java 應(yīng)用程序連接數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)方法。JDBC 對(duì)Java 程序員而言是 API,對(duì)實(shí)現(xiàn)與
37、數(shù)據(jù)庫(kù)連接的服務(wù)提供商而言是接口模型。作為API,JDBC 為程序開(kāi)發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫(kù)廠商及第三方中間件廠商實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接提供了標(biāo)準(zhǔn)方法。JDBC 使用已有的 SQL 標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn),如 ODBC 之間的橋接。JDBC 實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡(jiǎn)單、嚴(yán)格類(lèi)型定義且高性能實(shí)現(xiàn)的接口。 Java 具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序的杰出語(yǔ)言。所需要的只是 Java 應(yīng)用程序與各種不同數(shù)據(jù)庫(kù)之間進(jìn)行對(duì)話的方法。而 JDBC 正是作為此種用途的機(jī)制。 JDBC 擴(kuò)展了 Java 的功能。例如,用 Java 和 J
38、DBC API 可以發(fā)布含有 applet 的網(wǎng)頁(yè),而該 applet 使用的信息可能來(lái)自遠(yuǎn)程數(shù)據(jù)庫(kù)企業(yè)也可以用 JDBC 通過(guò) Intranet 將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫(kù)中(即使這些職員所用的計(jì)算機(jī)有 Windows、 Macintosh 和 UNIX 等各種不同的操作系統(tǒng)) 。隨著越來(lái)越多的程序員開(kāi)始使用 Java 編程語(yǔ)言,對(duì)從 Java 中便捷地訪問(wèn)數(shù)據(jù)庫(kù)的要求也在日益增加。 MIS 管理員們都喜歡 Java 和 JDBC 的結(jié)合,因?yàn)樗剐畔鞑プ兊萌菀缀徒?jīng)濟(jì)。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫(kù),并能便捷地存取信息,即使這些信息是儲(chǔ)存在不同數(shù)據(jù)庫(kù)管理系統(tǒng)上。新程序的開(kāi)發(fā)期很短
39、。安裝和版本控制將大為簡(jiǎn)化。程序員可只編寫(xiě)一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對(duì)于商務(wù)上的銷(xiāo)售信息服務(wù), Java 和 JDBC 可為外部客戶提供獲取信息更新的更好方法。簡(jiǎn)單地說(shuō),JDBC 可做三件事:與數(shù)據(jù)庫(kù)建立連接、發(fā)送 SQL 語(yǔ)句并處理結(jié)果。下列代碼段給出了以上三步的基本示例: Connection con = DriverManager.getConnection(jdbc:odbc:wombat,login, password) ; Statement stmt = con.createStatement() ; ResultSe
40、t rs = stmt.executeQuery(SELECT a, b, c FROM Table1) ; while (rs.next() ) int x = rs.getInt(a) ; String s = rs.getString(b) ; float f = rs.getFloat(c) ; 上述代碼對(duì)基于 JDBC 的數(shù)據(jù)庫(kù)訪問(wèn)做了經(jīng)典的總結(jié)。推薦精選第二章 系統(tǒng)設(shè)計(jì)本系統(tǒng)主要是針對(duì)各個(gè)博客網(wǎng)站管理,本系統(tǒng)滿足以下幾點(diǎn)要求: (1) 系統(tǒng)安全性。由于該系統(tǒng)的使用對(duì)象多,要求有較好的權(quán)限管理。不同權(quán)限進(jìn)入不同的界面,為了防止數(shù)據(jù)的并發(fā)現(xiàn)象的出現(xiàn),數(shù)據(jù)的編輯必須由合法用戶來(lái)操作,并對(duì)
41、每個(gè)研究生的信息進(jìn)行良好的保密。系統(tǒng)內(nèi)容的全面性。博客網(wǎng)站不僅是對(duì)基本信息進(jìn)行管理,還包括文章管理、通訊錄管理等,因此,本系統(tǒng)能夠很好的滿足博客網(wǎng)站的信息進(jìn)行完善、統(tǒng)一的管理。(2)系統(tǒng)靈活性。要求有良好的人機(jī)界面,操作簡(jiǎn)單(數(shù)據(jù)的添加、刪除、修改、查詢等方便快捷) 。(3)可擴(kuò)展性。站點(diǎn)的數(shù)據(jù)承載量、功能模塊的單個(gè)或整體調(diào)整都可以滿足變化的需要,這種適應(yīng)性稱(chēng)為可擴(kuò)展性。博客網(wǎng)站的可擴(kuò)展性,體現(xiàn)在不同用戶群需要處理不同類(lèi)型的數(shù)據(jù)、數(shù)據(jù)與用戶之間進(jìn)行交互、數(shù)據(jù)要符合個(gè)用戶的使用需求、多表查詢系統(tǒng)化、避免性能下降等方面。(4)易維護(hù)性。本系統(tǒng)采用 B/S 結(jié)構(gòu),系統(tǒng)的升級(jí)只需要在服務(wù)器端完成,更新
42、軟件系統(tǒng)的數(shù)據(jù)庫(kù)、文件也只需要更新服務(wù)器端即可。在進(jìn)行系統(tǒng)的維護(hù)時(shí),只需要遠(yuǎn)程登錄服務(wù)器系統(tǒng),減少了維護(hù)系統(tǒng)的成本和周期。2.1 可行性研究該階段通過(guò)對(duì)系統(tǒng)目標(biāo)的初步調(diào)研和分析,提出可行性方案并進(jìn)行論證。我們?cè)谶@里主要從技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性等方面進(jìn)行分析。2.1.1 經(jīng)濟(jì)可行性開(kāi)發(fā)該系統(tǒng)所需的相關(guān)資料可以通過(guò)已存在的相關(guān)系統(tǒng)進(jìn)行調(diào)查采集,所需的其他應(yīng)用軟件、硬件系統(tǒng)也易于獲得.因此,開(kāi)發(fā)成本較低。而引進(jìn)使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點(diǎn),可以節(jié)省不少人力、物力及財(cái)力。所以,從經(jīng)濟(jì)的角度來(lái)看,該系統(tǒng)可行。2.1.2 技術(shù)可行性技術(shù)可行性要考慮現(xiàn)有的技術(shù)條
43、件是否能夠順利完成開(kāi)發(fā)工作,軟硬件配置是否滿足開(kāi)發(fā)的需求等。本系統(tǒng)用的是 JSP 開(kāi)發(fā)語(yǔ)言,調(diào)試相對(duì)簡(jiǎn)單,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足開(kāi)發(fā)的需求,因此在技術(shù)上是絕對(duì)可行的。軟件方面:由于目前單機(jī)模式相對(duì)發(fā)展成熟,故軟件的開(kāi)發(fā)平臺(tái)成熟可行,它們速度快、容量大、可靠性能高、價(jià)格低,完全能滿足系統(tǒng)的需求。本系統(tǒng)的開(kāi)發(fā),是典型的 Mis 開(kāi)發(fā)。采用 JSP 編程語(yǔ)言,已無(wú)技術(shù)上的問(wèn)題。推薦精選2.1.3 運(yùn)行可行性運(yùn)行可行性是對(duì)組織結(jié)構(gòu)的影響,現(xiàn)有人員和機(jī)構(gòu)和環(huán)境對(duì)系統(tǒng)的適應(yīng)性及人員培訓(xùn)補(bǔ)充計(jì)劃的可行性。當(dāng)前信息化技術(shù)已經(jīng)相當(dāng)普及,各類(lèi)操作人員水平都有相當(dāng)?shù)母叨?,所以在運(yùn)行上是可行性的。2.1.4
44、 時(shí)間可行性從時(shí)間上看,在兩個(gè)月的時(shí)間里學(xué)習(xí)相關(guān)知識(shí),并開(kāi)發(fā)系統(tǒng),時(shí)間上是有點(diǎn)緊,但是不是不可能實(shí)現(xiàn),通過(guò)兩個(gè)多月的努力功能基本實(shí)現(xiàn)。2.1.5 法律可行性 所有技術(shù)資料都為合法。 開(kāi)發(fā)過(guò)程中不存在知識(shí)產(chǎn)權(quán)問(wèn)題。 未抄襲任何系統(tǒng),不存在侵犯版權(quán)問(wèn)題。 開(kāi)發(fā)過(guò)程中未涉及任何法律責(zé)任。綜上所述,本系統(tǒng)的開(kāi)發(fā)從技術(shù)上、從經(jīng)濟(jì)上、從法律上等都是完全可靠的。2.2 需求分析需求分析是軟件設(shè)計(jì)的一個(gè)重要的環(huán)節(jié)。本階段對(duì)系統(tǒng)管理系統(tǒng)的應(yīng)用情況作全面調(diào)查,以確定系統(tǒng)目標(biāo)。確定用戶的需求。用戶對(duì)系統(tǒng)的需求我們從以下幾方面進(jìn)行分析。2.2.1 系統(tǒng)需求用 JSP 開(kāi)發(fā)系統(tǒng)基于 B/S 模式,系統(tǒng)軟件和數(shù)據(jù)集中存放
45、于服務(wù)器中,軟件的安裝與升級(jí)在服務(wù)器上進(jìn)行。所有的工作基于瀏覽器,安裝、使用、維護(hù)、升級(jí)十分簡(jiǎn)單。2.2.2 性能需求為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行。系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。由于本系統(tǒng)的添加功能對(duì)于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來(lái)源,其準(zhǔn)確性和及時(shí)性很大程度上決定了系統(tǒng)的成敗。在系統(tǒng)開(kāi)發(fā)過(guò)程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性和及時(shí)性。2.2.3 應(yīng)用需求分析推薦精選硬件處理器:Intel 酷睿 2 內(nèi) 存:256M 或更大硬 盤(pán):20G 或更大服務(wù)器軟件Microsoft Windows XP硬件無(wú)特殊要求客戶機(jī)軟件Microso
46、ft Windows XP 系統(tǒng)的性能要求通常指系統(tǒng)需要的存儲(chǔ)容量以及后援存儲(chǔ),重新啟動(dòng)和安全性,運(yùn)行效率等方面的考慮。 硬件系統(tǒng)環(huán)境:C600、1G MB(RAM) 、500MB(HD) 。系統(tǒng)運(yùn)行時(shí)對(duì)數(shù)據(jù)的保密性要求不高對(duì)一般的數(shù)據(jù)不要求進(jìn)行加密。此外,對(duì)其它軟件幾乎沒(méi)有依賴(lài)性,程序健壯性較好2.2.4 運(yùn)行需求分析硬件條件:酷睿 2 CPU、1G RAM、10 G 硬盤(pán)以上的 PC 機(jī)。軟件條件:Windows XP 2.2.5 其他需求分析本系統(tǒng)有較好的可維護(hù)性、可靠性、可理解性、效率。易于用戶理解和操作??删S護(hù)性包括了可讀性、可修改性、可測(cè)試性、等含義??煽啃酝ǔ0ㄕ_性和健壯性。
47、開(kāi)發(fā)過(guò)程中,在各種矛盾的目標(biāo)之間作權(quán)衡,并在一定的限制的條件下(經(jīng)費(fèi)、時(shí)間、可用的軟、硬件資源等) ,使上述各方面最大限度的得到滿足。2.3 總體設(shè)計(jì)2.3.1 總體結(jié)構(gòu)本系統(tǒng)分為三大塊:教師、學(xué)生、管理員系統(tǒng)(我負(fù)責(zé)管理員模塊) ;模塊結(jié)構(gòu)如下:推薦精選軟件工程網(wǎng)上教學(xué)輔助系統(tǒng)教師子系統(tǒng)學(xué)生子系統(tǒng)管理員子系統(tǒng)上傳課件用戶管理提出問(wèn)題上傳作業(yè)查看課件、下載網(wǎng)上答疑批改作業(yè)課程管理信息管理查閱試卷在線答題 圖 3-1 系統(tǒng)模塊2.3.2 系統(tǒng)結(jié)構(gòu)數(shù)據(jù)流圖 數(shù)據(jù)流圖表現(xiàn)了用戶、系統(tǒng)、數(shù)據(jù)庫(kù)的關(guān)系。學(xué)生系統(tǒng)教師管理員在線問(wèn)題、下載課件等操作在線答問(wèn)、上傳課件等操作更新用戶信息 圖 3-2 數(shù)據(jù)流圖推
48、薦精選第三章 數(shù)據(jù)庫(kù)設(shè)計(jì)3.1 創(chuàng)建數(shù)據(jù)庫(kù)首先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù) uplod,用來(lái)保存本系統(tǒng)的所有數(shù)據(jù)。創(chuàng)建數(shù)據(jù)庫(kù)的腳本代碼如下:CREATE DATABASE uplodGO可以在 SQL 查詢分析器中執(zhí)行該語(yǔ)句,創(chuàng)建數(shù)據(jù)庫(kù)。3.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)由于網(wǎng)上答疑系統(tǒng)要實(shí)現(xiàn),整個(gè)數(shù)據(jù)數(shù)據(jù)信息都要存儲(chǔ)、更新;課件資源等信息都是動(dòng)態(tài)變化的。這涉及多個(gè)頁(yè)面、多個(gè)功能,所有的操作都要與數(shù)據(jù)庫(kù)聯(lián)系。系統(tǒng)為這些,動(dòng)態(tài)信息設(shè)計(jì)了以下主要數(shù)據(jù)庫(kù)表:人員表:存儲(chǔ)登錄網(wǎng)上答疑系統(tǒng)個(gè)人信息。Id 為編號(hào)、name 為名稱(chēng)、Password 為密碼、sex 為性別、department 為所在系、jiguan 為籍貫、
49、tel 為電話、E_mail 為郵箱、mark 為標(biāo)記。表 3.1 人員表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空idchar10namechar10passwordchar10sexchar10是departmentchar10是jiguanvarchar50是telchar10是E_mailvarchar50是markint4是課件表:存儲(chǔ)每門(mén)課程的課件存放路徑及課程的基本信息。Id 為編號(hào)、Coursewarename 為課件名稱(chēng)、addtime 為添加時(shí)間、filename 為系統(tǒng)文件的名稱(chēng)、Path 為上傳課件的路徑、teacherid 為老師的編號(hào)、remark 為課件的標(biāo)記。推薦精選表 3.2 課
50、件表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空idint4Coursewarenamevarchar50是addtimedatetime8是filenamevarchar50是pathvarchar100是teacheridvarchar50是remarkvarchar200是試卷表:存儲(chǔ)試卷信息。Id 為試卷的編號(hào)、papersname 為試卷名稱(chēng)、addtime 添加時(shí)間、remark 為試卷標(biāo)記。表 3.3 試卷表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空idint4papersnamevarchar50是addtimedatetime8是remarkvarchar200是作業(yè)表:用于存放教師布置的課后作業(yè)。字符為:作業(yè)名稱(chēng)、
51、時(shí)間、路徑等信息。Id 為作業(yè)編號(hào)、 homeworkname 為作業(yè)的名稱(chēng)、 addtime 為上傳時(shí)間、 filename 為在系統(tǒng)文件的名稱(chēng)、 path 為上傳文件的路徑、 stuid 為學(xué)生的編號(hào)、 remark 為作業(yè)標(biāo)記、 isRead 為是否閱讀。表 3.4 作業(yè)表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空推薦精選idint4homeworknamevarchar50是addtimedatetime8是filenamevarchar50是pathvarchar100是stuidvarchar50是remarkvarchar200是isReadint4是問(wèn)題:用于存放學(xué)生的提問(wèn)問(wèn)題和老師解答問(wèn)題的表。
52、Id 為編號(hào)、 title 為標(biāo)題、 content 為問(wèn)題內(nèi)容、 addtime 為上傳時(shí)間、 stuid 為學(xué)生的編號(hào)、 isresolved 為是否解決、 answertitle 為答案標(biāo)題、 answercontent 回答內(nèi)容、 teacherid 為老師編號(hào)。表 3.5 問(wèn)題表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空idint4titlevarchar50contentvarchar200是addtimedatetime8是stuidvarchar50是isresolvedchar10是answertitlevarchar50是answercontentvarchar200是teacheridvar
53、char50是考試信息表:用于存放考試內(nèi)容。Id 為編號(hào)、 papersid 為試卷編號(hào)、 title 試卷標(biāo)題、 type 類(lèi)型 optionA、B、C、D 為選項(xiàng)、 answer 為答案。表 3.6 考試信息表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空推薦精選idint4papersidint4是titlevarchar200是typevarchar50是optionAvarchar50是optionBvarchar50是optionCvarchar50是optionDvarchar50是answervarchar200是管理員:用于存放管理員信息。Id 為管理員編號(hào)、password 為密碼。表 3.7 管
54、理員表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空idvarchar50passwordvarchar50答案表: 用于存放學(xué)生在線做答的答案信息。Id 為編號(hào)、 quesid 為問(wèn)題編號(hào)、 answer 為答案、 stuid 為學(xué)生編號(hào)、pspersid 為試卷編號(hào)。表 3.8 考試答案表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空idint4quesidint4answervarchar50是stuidchar10是pspersidint4是課程表:用于存儲(chǔ)課程信息 id 為課程編號(hào)、 name 為課程名稱(chēng)、 dep 為系、 mark 為標(biāo)記、detail 為課程介紹。表 3.9 課程表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空idvarchar50推
55、薦精選namevarchar50depvarchar50是markvarchar50是detailvarchar500是教師表:用于存儲(chǔ)教師個(gè)人信息。Id 為編號(hào)、 name 為名稱(chēng) title 為職稱(chēng)、 password為密碼。表 3.10 教師信息表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空idchar10namevarchar50titlechar10是passwordchar10上傳信息表:用于存放上傳文件本地的路徑信息。Id 為編號(hào)、 wid_name 為文件所在大的名稱(chēng)、 path 為路徑、 min_path 為具體路徑、 sizes 為大小、 times 為時(shí)間、 ip 為上傳者的機(jī) IP表 3.1
56、1 上傳信息表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空idint4wid_namevarchar7是pathnvarchar60是min_pathnvarchar60是sizesint4是timesvarchar50是ipvarchar20是3.3 數(shù)據(jù)庫(kù)的實(shí)現(xiàn)上述的數(shù)據(jù)表存儲(chǔ)信息,系統(tǒng)進(jìn)行數(shù)據(jù)庫(kù)連接具體實(shí)現(xiàn)要核心代碼: public class DataBaseConnection/* *一個(gè)靜態(tài)方法,返回一個(gè)數(shù)據(jù)庫(kù)連接 *這樣達(dá)到了對(duì)數(shù)據(jù)庫(kù)統(tǒng)一控制的目的 */推薦精選/#MySQL 數(shù)據(jù)庫(kù)連接信息/#MySQL 數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序/String MySQLDriver=org.gjt.mm.mysql.Driv
57、er/#MySQL 數(shù)據(jù)庫(kù)連接字符串。/#upload 為數(shù)據(jù)庫(kù)名,user 為登錄用戶名,password 為登錄密碼。/String MySQLURL=jdbc:mysql:/localhost:3306/upload?user=sa&password=&useUnicode=true&characterEncoding=GBK/#SQL Server 數(shù)據(jù)庫(kù)連接信息/#SQL Server 驅(qū)動(dòng)程序/String SQLDriver=net.sourceforge.jtds.jdbc.Driver;/#SQL Server 數(shù)據(jù)庫(kù)連接字符串/#upload 為數(shù)據(jù)
58、庫(kù)名,user 為登錄用戶名,password 為登錄密碼。/String SQLURL=jdbc:jtds:sqlserver:/localhost:1433/upload;user=sa;password=; public static Connection getConnection() Connection con=null; String SQLDriver=com.microsoft.jdbc.sqlserver.SQLServerDriver; String SQLURL=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=
59、upload;user=sa;password=123456; try Class.forName(SQLDriver).newInstance(); con=DriverManager.getConnection(SQLURL); catch(Exception e) e.printStackTrace(); return con;/在其他文件里面就可以直接調(diào)用 Connection con=DataBaseConnection.getConnection();來(lái)獲得數(shù)據(jù)庫(kù)的連接推薦精選第四章 詳細(xì)設(shè)計(jì)4.1 管理員的登錄模塊設(shè)計(jì)與實(shí)現(xiàn)管理員用設(shè)定好的用戶名和密碼,可以登錄到系統(tǒng)用戶管理員的
60、核心代碼:jsp:useBean id=ss scope=page class=stu.login/引用 login 類(lèi) 管理員可以在本頁(yè)面登錄: 圖 5-1 管理員登錄4.2 管理員主界面設(shè)計(jì)與實(shí)現(xiàn)該模塊主要實(shí)現(xiàn)用戶添加,刪除,修改用戶信息等功能,該模塊是通過(guò) java 操作數(shù)據(jù)庫(kù),跟教學(xué)展示、查找模塊相似,所有的數(shù)據(jù)庫(kù)操作都封裝到 servlet 中,這樣保證了數(shù)據(jù)的安全性。這個(gè)模塊值得一提的是教學(xué)圖片上傳功能,文件的上傳功能在基于 B/S 的開(kāi)發(fā)模式中非常普遍。同其他開(kāi)發(fā)工具相比較,JSP 對(duì)文件的上傳支持并不是很完美,它既不象 ASP 那樣一定需要使用組件來(lái)完成。JSP 實(shí)現(xiàn)文件上傳的實(shí)現(xiàn)方式是這樣的:使用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合伙出資開(kāi)店經(jīng)營(yíng)合同范本
- 厚街工廠蔬菜配送合同范本
- 展會(huì)廣告服務(wù)合同范本
- 木材粉碎合同范本
- 鄉(xiāng)級(jí)學(xué)校保安合同范本
- 2025年靜止無(wú)功發(fā)生器項(xiàng)目建議書(shū)
- 衛(wèi)浴拆裝服務(wù)合同范本
- 加盟酒店品牌合同范本
- 原木板材加工合同范本
- 生鮮業(yè)務(wù)采購(gòu)合同范本
- 2024年貴州公需科目答案
- 新版FMEA控制程序-第五版FMEA
- 好作文的開(kāi)頭和結(jié)尾公開(kāi)課獲獎(jiǎng)?wù)n件省賽課一等獎(jiǎng)?wù)n件
- 剪叉式升降平臺(tái)結(jié)構(gòu)設(shè)計(jì)
- 安慶大學(xué)科技園建設(shè)實(shí)施方案
- 項(xiàng)目資金管理統(tǒng)籌實(shí)施方案
- 高中英語(yǔ)新課程標(biāo)準(zhǔn)解讀課件
- 2024年秋新滬科版物理八年級(jí)上冊(cè) 6.3來(lái)自地球的力 教學(xué)課件
- 定密培訓(xùn)課件教學(xué)課件
- 三、種植芽苗菜(教學(xué)設(shè)計(jì))魯科版二年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)
- 2025屆東北師大附屬中學(xué)高考物理五模試卷含解析
評(píng)論
0/150
提交評(píng)論