非實(shí)時(shí)網(wǎng)上答疑系統(tǒng)論文_第1頁(yè)
已閱讀1頁(yè),還剩38頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  目錄</b></p><p><b>  1 引言1</b></p><p>  1.1 選題背景1</p><p>  1.2 課題研究的目的和意義1</p><p>  1.3 本文的結(jié)構(gòu)1</p><p><b>

2、  2 相關(guān)技術(shù)2</b></p><p>  2.1 三層架構(gòu)技術(shù)2</p><p>  2.2 Ajax技術(shù)3</p><p>  2.3 DIV+CSS技術(shù)3</p><p>  3 非實(shí)時(shí)網(wǎng)上答疑系統(tǒng)需求分析4</p><p>  3.1 可行性分析4</p>

3、<p>  3.2 系統(tǒng)功能分析5</p><p>  3.3 系統(tǒng)數(shù)據(jù)流程圖5</p><p>  3.4 系統(tǒng)性能要求7</p><p>  3.4.1 系統(tǒng)響應(yīng)時(shí)間的需求7</p><p>  3.4.2 系統(tǒng)安全性需求7</p><p>  3.5 系統(tǒng)開(kāi)發(fā)環(huán)境需求分析8<

4、;/p><p>  3.5.1 軟件開(kāi)發(fā)環(huán)境的需求分析8</p><p>  3.5.2 硬件開(kāi)發(fā)環(huán)境的需求分析8</p><p>  3.6 設(shè)計(jì)方案8</p><p>  3.6.1 方案的比較9</p><p>  3.6.2 方案的選擇9</p><p>  4 概要設(shè)

5、計(jì)10</p><p>  4.1 概述10</p><p>  4.2 系統(tǒng)功能定義10</p><p>  4.2.1 學(xué)生模塊功能定義10</p><p>  4.2.2 教師模塊功能定義10</p><p>  4.2.3 管理員模塊功能定義11</p><p> 

6、 4.3 系統(tǒng)數(shù)據(jù)描述11</p><p>  4.4 數(shù)據(jù)庫(kù)設(shè)計(jì)11</p><p>  4.4.1 數(shù)據(jù)庫(kù)實(shí)體設(shè)計(jì)12</p><p>  4.4.2 系統(tǒng)E-R圖14</p><p>  4.5 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)15</p><p>  5 系統(tǒng)詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)18</p>

7、<p>  5.1 系統(tǒng)架構(gòu)的實(shí)現(xiàn)18</p><p>  5.2 后臺(tái)數(shù)據(jù)庫(kù)和前端應(yīng)用程序連接模塊19</p><p>  5.3 管理員登錄模塊20</p><p>  5.3 后臺(tái)頁(yè)面導(dǎo)航欄模塊23</p><p>  5.3 教師管理模塊25</p><p>  5.4 其他模塊

8、27</p><p>  6 系統(tǒng)測(cè)試及試運(yùn)行28</p><p>  6.1 測(cè)試目的28</p><p>  6.2 學(xué)生登錄測(cè)試28</p><p>  6.3 學(xué)生注冊(cè)測(cè)試29</p><p>  6.4 學(xué)生管理功能測(cè)試31</p><p>  6.4.1 測(cè)試

9、學(xué)生信息的添加31</p><p>  6.4.2 測(cè)試學(xué)生信息的修改32</p><p>  6.4.3 測(cè)試學(xué)生信息的刪除33</p><p>  6.5 測(cè)試總結(jié)33</p><p><b>  7 結(jié)論34</b></p><p>  參 考 文 獻(xiàn)35</p&g

10、t;<p><b>  致 謝36</b></p><p><b>  1 引言</b></p><p><b>  1.1 選題背景</b></p><p>  隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)已經(jīng)滲入人們生活的各個(gè)方面。經(jīng)過(guò)10年多學(xué)校計(jì)算機(jī)網(wǎng)絡(luò)建設(shè),現(xiàn)在國(guó)內(nèi)大部分高校學(xué)生在校內(nèi)使用

11、網(wǎng)絡(luò)已經(jīng)非常方便。如何有效利用網(wǎng)絡(luò)服務(wù)于學(xué)校教學(xué)、學(xué)習(xí)、管理,已經(jīng)成為值得我們關(guān)注并予以研究的重要課題[1]。答疑是教學(xué)活動(dòng)中的一項(xiàng)不可缺少的基本環(huán)節(jié),其主要工作是對(duì)學(xué)生在學(xué)習(xí)中的不解之處進(jìn)行解答。答疑工作開(kāi)展的好壞將直接影響到教育質(zhì)量的高低。高校連續(xù)擴(kuò)大招生規(guī)模使得原有學(xué)校教育中傳統(tǒng)答疑模式不再適應(yīng)答疑需求,答疑模式亟待改革。網(wǎng)絡(luò)高等遠(yuǎn)程教育發(fā)展時(shí)間有限,其網(wǎng)絡(luò)答疑系統(tǒng)有待進(jìn)一步完善[2]。</p><p> 

12、 1.2 課題研究的目的和意義</p><p>  本課題調(diào)查了多家開(kāi)展網(wǎng)絡(luò)遠(yuǎn)程教育單位的網(wǎng)絡(luò)答疑系統(tǒng),并且分析了基于網(wǎng)絡(luò)的答疑系統(tǒng)的研究現(xiàn)狀,結(jié)合現(xiàn)有成熟技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一套獨(dú)立、功能完善的非實(shí)時(shí)網(wǎng)上答疑系統(tǒng), 通過(guò)該系統(tǒng)革新高校教育中傳統(tǒng)的師生面對(duì)面、一對(duì)一答疑模式,以適應(yīng)新時(shí)期高等學(xué)校教育的發(fā)展;同時(shí)完善網(wǎng)絡(luò)遠(yuǎn)程教育平臺(tái),以提高網(wǎng)絡(luò)高等遠(yuǎn)程教育的質(zhì)量。使學(xué)生能夠及時(shí)的解除自己的疑惑,更好的掌握課程的知識(shí)

13、和內(nèi)容。</p><p>  1.3 本文的結(jié)構(gòu)</p><p>  第一部分引言:包括三節(jié),選題背景和課題研究的目的和意義、本文結(jié)構(gòu)(本文各部分的簡(jiǎn)述)。第二部分相關(guān)技術(shù):闡述本課題研究將涉及到的技術(shù)知識(shí)。第三部分需求分析:分別從系統(tǒng)功能分析、系統(tǒng)數(shù)據(jù)流程、系統(tǒng)性能要求、系統(tǒng)開(kāi)發(fā)環(huán)境需求,開(kāi)發(fā)方案和可行性分析六個(gè)方面進(jìn)行分析。第四部分概要設(shè)計(jì):包括系統(tǒng)功能定義、系統(tǒng)數(shù)據(jù)描述、數(shù)據(jù)庫(kù)設(shè)計(jì)

14、和數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)。第五部分詳細(xì)設(shè)計(jì)與實(shí)現(xiàn):系統(tǒng)架構(gòu)的實(shí)現(xiàn),后臺(tái)數(shù)據(jù)庫(kù)和前端應(yīng)用程序連接模塊的實(shí)現(xiàn)、管理員登錄,頁(yè)面導(dǎo)航等模塊的實(shí)現(xiàn)。第六部分系統(tǒng)測(cè)試及試運(yùn)行:說(shuō)明測(cè)試目的,然后選取有代表性的模塊進(jìn)行測(cè)試。第七部分結(jié)論:對(duì)本次畢業(yè)設(shè)計(jì)進(jìn)行總結(jié)。</p><p><b>  2 相關(guān)技術(shù) </b></p><p>  2.1 三層架構(gòu)技術(shù)</p>&

15、lt;p>  三層架構(gòu)(3-tier architecture) 通常意義上的三層架構(gòu)就是將整個(gè)業(yè)務(wù)應(yīng)用劃分為:表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪(fǎng)問(wèn)層(DAL)[3]。區(qū)分層次的目的即為了“高內(nèi)聚,低耦合”的思想[4]。</p><p>  數(shù)據(jù)訪(fǎng)問(wèn)層:主要是對(duì)原始數(shù)據(jù)(數(shù)據(jù)庫(kù)或者文本文件等存放數(shù)據(jù)的形式)的操作層,而不是指原始數(shù)據(jù),也就是說(shuō),是對(duì)數(shù)據(jù)的操作,而不是數(shù)據(jù)庫(kù)[5],具體為業(yè)務(wù)邏輯層或

16、表示層提供數(shù)據(jù)服務(wù)。</p><p>  業(yè)務(wù)邏輯層:主要是針對(duì)具體的問(wèn)題的操作,也可以理解成對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯處理,如果說(shuō)數(shù)據(jù)層是積木,那邏輯層就是對(duì)這些積木的搭建[4]。</p><p>  表示層:主要表示W(wǎng)EB方式,也可以表示成WINFORM方式,WEB方式也可以表現(xiàn)成aspx[5],如果邏輯層相當(dāng)強(qiáng)大和完善,無(wú)論表現(xiàn)層如何定義和更改,邏輯層都能完善地提供服務(wù)。<

17、/p><p>  三層架構(gòu)如圖2.1所示。</p><p><b>  圖2.1 三層架構(gòu)</b></p><p>  2.2 Ajax技術(shù)</p><p>  AJAX為“Asynchronous JavaScript and XML”(非同步的JavaScript與XML技術(shù)),指的是一套綜合了多項(xiàng)技術(shù)的瀏覽器端網(wǎng)頁(yè)開(kāi)

18、發(fā)技術(shù)[6]。</p><p>  傳統(tǒng)的Web應(yīng)用允許用戶(hù)端填寫(xiě)表單(form),當(dāng)送出表單時(shí)就向Web伺服器發(fā)送一個(gè)請(qǐng)求[7]。伺服器接收并處理傳來(lái)的表單,然后送回一個(gè)新的網(wǎng)頁(yè),但這個(gè)做法浪費(fèi)了許多帶寬,因?yàn)樵谇昂髢蓚€(gè)頁(yè)面中的大部分HTML碼往往是相同的。由于每次應(yīng)用的溝通都需要向伺服器發(fā)送請(qǐng)求,應(yīng)用的回應(yīng)時(shí)間依賴(lài)于伺服器的回應(yīng)時(shí)間[8]。這導(dǎo)致了用戶(hù)界面的回應(yīng)比本機(jī)應(yīng)用慢得多。</p><

19、;p>  與此不同,AJAX應(yīng)用可以?xún)H向伺服器發(fā)送并取回必須的數(shù)據(jù),它使用SOAP或其它一些基于XML的頁(yè)面服務(wù)接口(介面),并在客戶(hù)端采用JavaScript處理來(lái)自伺服器的回應(yīng)[9]。因?yàn)樵谒欧骱蜑g覽器之間交換的數(shù)據(jù)大量減少(大約只有原來(lái)的5%)。結(jié)果,我們感覺(jué)伺服器回應(yīng)更快了。同時(shí),很多的處理工作可以在發(fā)出請(qǐng)求的客戶(hù)端機(jī)器上完成,因此Web伺服器的負(fù)荷也減少了。</p><p>  2.3 DIV

20、+CSS技術(shù)</p><p>  CSS+DIV是網(wǎng)站標(biāo)準(zhǔn)(或稱(chēng)“WEB標(biāo)準(zhǔn)”)中常用的術(shù)語(yǔ)之一,通常為了說(shuō)明與HTML網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言中的表格(table)定位方式的區(qū)別[10],因?yàn)閄HTML網(wǎng)站設(shè)計(jì)標(biāo)準(zhǔn)中,不再使用表格定位技術(shù),而是采用css+div的方式實(shí)現(xiàn)各種定位。 </p><p>  CSS是英語(yǔ)Cascading Style Sheets(層疊樣式表單)的縮寫(xiě),它是一種用來(lái)表現(xiàn)

21、 HTML 或 XML 等文件式樣的計(jì)算機(jī)語(yǔ)言[11]。 </p><p>  DIV元素是用來(lái)為HTML文檔內(nèi)大塊(block-level)的內(nèi)容提供結(jié)構(gòu)和背景的元素[12]。DIV的起始標(biāo)簽和結(jié)束標(biāo)簽之間的所有內(nèi)容都是用來(lái)構(gòu)成這個(gè)塊的,其中所包含元素的特性由DIV標(biāo)簽的屬性來(lái)控制,或者是通過(guò)使用樣式表格式化這個(gè)塊來(lái)進(jìn)行控制。</p><p>  3 非實(shí)時(shí)網(wǎng)上答疑系統(tǒng)需求分析<

22、/p><p>  3.1 可行性分析</p><p>  可行性分析(Feasibility Analysis)也稱(chēng)為可行性研究,是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對(duì)新系統(tǒng)的開(kāi)發(fā)是否具備必要性和可能性,對(duì)新系統(tǒng)的開(kāi)發(fā)從技術(shù)、經(jīng)濟(jì)、社會(huì)等方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)的開(kāi)發(fā)成功[17]。可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。為了確定開(kāi)發(fā)具有可行性,對(duì)本系

23、統(tǒng)主要進(jìn)行了以下四個(gè)方面的分析。</p><p>  (1) 經(jīng)濟(jì)可行性:系統(tǒng)所要求的硬件(計(jì)算機(jī)及相關(guān)硬件)和軟件環(huán)境(VS 2010+SQL 2008),市場(chǎng)上都容易購(gòu)買(mǎi)到或從相關(guān)網(wǎng)站下載,系統(tǒng)成本主要集中在開(kāi)發(fā)與維護(hù)上,不造成過(guò)重的經(jīng)濟(jì)負(fù)擔(dān)。而一旦此系統(tǒng)投入使用,不僅可以減少教學(xué)人員的工作強(qiáng)度,提高工作效率,而且極大限度的方便了學(xué)生的學(xué)習(xí),可以節(jié)省大量的人力、財(cái)力。</p><p>

24、  (2) 技術(shù)可行性:技術(shù)上的可行性分析主要是分析技術(shù)條件能否順利完成開(kāi)發(fā)工作,硬、軟件能否滿(mǎn)足開(kāi)發(fā)者的需要等。在軟件方面,本系統(tǒng)采用的是ASP.NET進(jìn)行開(kāi)發(fā),前臺(tái)網(wǎng)頁(yè)的使用的是DIV+CSS技術(shù),而數(shù)據(jù)庫(kù)系統(tǒng)采用的是Microsoft SqlServer 2008。通過(guò)分析,在軟、硬件方面現(xiàn)有工具與環(huán)境完全可以實(shí)現(xiàn)系統(tǒng)的開(kāi)發(fā),因此具有技術(shù)上的可行性。</p><p>  (3) 管理的可行性:主要是管理人員

25、是否支持,現(xiàn)有的管理制度和方法是否科學(xué),規(guī)章制度是否齊全,原始數(shù)據(jù)是否正確等。系統(tǒng)簡(jiǎn)潔易用不需要投入太多人員進(jìn)行管理,因此具備了管理上的可行性。</p><p>  (4) 操作可行性:本系統(tǒng)主要是為了方便教師對(duì)學(xué)生的疑問(wèn)進(jìn)行解答,提高學(xué)生的學(xué)習(xí)效率。學(xué)生將課程章節(jié)內(nèi)的疑問(wèn)通過(guò)系統(tǒng)呈現(xiàn)給教師,待教師及時(shí)解答后,可查看到問(wèn)題回復(fù)。系統(tǒng)界面簡(jiǎn)潔,操作簡(jiǎn)單,只要管理員、教師以及學(xué)生通過(guò)網(wǎng)上瀏覽就可以自如的使用本系統(tǒng)。&

26、lt;/p><p>  綜上所述,系統(tǒng)開(kāi)發(fā)目標(biāo)已明確,在技術(shù)和經(jīng)濟(jì)等方面具備可行性,投入少、見(jiàn)效快,因此系統(tǒng)的開(kāi)發(fā)是完全可行的。</p><p>  3.2 系統(tǒng)功能分析</p><p>  本系統(tǒng)主要是為了滿(mǎn)足課后學(xué)生提問(wèn)解惑的需求,提供給老師和學(xué)生就課程互動(dòng)答疑解惑。主要有系統(tǒng)管理員、教師、學(xué)生三種用戶(hù)使用。學(xué)生按照章節(jié)提出問(wèn)題,教師對(duì)此給予回復(fù)答疑。管理員對(duì)教師

27、信息、學(xué)生信息及答疑記錄進(jìn)行維護(hù)。</p><p>  3.3 系統(tǒng)數(shù)據(jù)流程圖</p><p>  在本系統(tǒng)的數(shù)據(jù)流設(shè)計(jì)中,主要是實(shí)現(xiàn)學(xué)生提問(wèn),教師答疑,管理員維護(hù)用戶(hù)信息,維護(hù)課程信息,維護(hù)答疑信息,其總數(shù)據(jù)流圖如圖3.1所示。</p><p>  圖3.1 總數(shù)據(jù)流圖</p><p>  學(xué)生模塊需實(shí)現(xiàn)學(xué)生注冊(cè)、登錄驗(yàn)證、發(fā)布問(wèn)題,查看

28、問(wèn)題這幾項(xiàng)功能。其數(shù)據(jù)流圖如3.2</p><p>  圖3.2 學(xué)生模塊數(shù)據(jù)流圖</p><p>  教師模塊需實(shí)現(xiàn)教師登錄、查看問(wèn)題、回復(fù)問(wèn)題幾項(xiàng)功能。其數(shù)據(jù)流圖如圖3.3</p><p>  圖3.3 教師模塊數(shù)據(jù)流圖</p><p>  管理員模塊需實(shí)現(xiàn)管理員登錄,學(xué)生信息管理、教師信息管理、課程信息管理和問(wèn)題信息管理。其數(shù)據(jù)流如圖3

29、.4。</p><p>  圖3.4 管理員模塊數(shù)據(jù)流圖</p><p>  3.4 系統(tǒng)性能要求</p><p>  3.4.1 系統(tǒng)響應(yīng)時(shí)間的需求</p><p>  整個(gè)系統(tǒng)要求能對(duì)數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)進(jìn)行查詢(xún)和統(tǒng)計(jì),因?yàn)榉菍?shí)時(shí)網(wǎng)上答疑系統(tǒng)具有很高的實(shí)用性,為了確保用戶(hù)可以較快的打開(kāi)網(wǎng)站,系統(tǒng)要求具有很高的響應(yīng)速度,80%的查詢(xún)和統(tǒng)計(jì)

30、時(shí)間應(yīng)控制在2秒以?xún)?nèi),最大時(shí)間不應(yīng)超過(guò)5秒;而作為學(xué)生、教師和管理員三方面用戶(hù)使用,系統(tǒng)必須要有繁重的事務(wù)處理能力,能日處理上千條數(shù)據(jù)。</p><p>  3.4.2 系統(tǒng)安全性需求</p><p>  在系統(tǒng)使用方面,教師和學(xué)生使用該系統(tǒng)必須進(jìn)行必要的身份驗(yàn)證,在學(xué)生登錄系統(tǒng)提問(wèn)前,需要使用注冊(cè)的用戶(hù)名和密碼進(jìn)行登錄。而教師回答問(wèn)題前也必須使用管理員發(fā)放的用戶(hù)名和密碼登錄系統(tǒng)后方可回

31、答提問(wèn)。管理員經(jīng)過(guò)驗(yàn)證后登錄系統(tǒng)方可對(duì)系統(tǒng)進(jìn)行管理維護(hù)。</p><p>  3.5 系統(tǒng)開(kāi)發(fā)環(huán)境需求分析</p><p>  3.5.1 軟件開(kāi)發(fā)環(huán)境的需求分析</p><p>  支持中文的Windows XP及以上各種版本操作系統(tǒng)。數(shù)據(jù)庫(kù)系統(tǒng)使用SQL Server 2008,使用的語(yǔ)言為C#,開(kāi)發(fā)軟件為Visual Studio 2012,開(kāi)發(fā)工具為AS

32、P.NET。在服務(wù)器端引用上ASP和JSP有著相同之處。ASP和JSP都可以支持此功能的服務(wù)器 (IIS, APACHE) 上實(shí)現(xiàn)服務(wù)器端包含虛文件。但JSP是將動(dòng)態(tài)頁(yè)面的結(jié)果包含進(jìn)來(lái),而不是包含文件的代碼本身。當(dāng)你包含的文件在另一個(gè)服務(wù)器上時(shí),不包含任何代碼和對(duì)象是一個(gè)非常有效的功能。通過(guò)比較我認(rèn)為在線(xiàn)答疑系統(tǒng)選用ASP.NET作為開(kāi)發(fā)工具。</p><p>  SQL Server 2008是微軟公司開(kāi)發(fā)推出

33、的數(shù)據(jù)庫(kù),它具有以下特點(diǎn)[13]:</p><p>  1、可信任的——使得公司可以以很高的安全性、可靠性和可擴(kuò)展性來(lái)運(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序。</p><p>  2、高效的——使得公司可以降低開(kāi)發(fā)和管理他們的數(shù)據(jù)基礎(chǔ)設(shè)施的時(shí)間和成本。</p><p>  3、智能的——提供了一個(gè)全面的平臺(tái),可以在你的用戶(hù)需要的時(shí)候給他發(fā)送觀(guān)察和信息。</p>

34、<p>  它在關(guān)鍵領(lǐng)域方面具有顯著的優(yōu)勢(shì),是一個(gè)可信任的、高效的、智能的數(shù)據(jù)平臺(tái)。最重要的是在我們課程的學(xué)習(xí)中唯一學(xué)習(xí)接觸的就是SQL Server 2008數(shù)據(jù)庫(kù)。</p><p>  所以綜上所述本系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)使用的是SQL Server 2008。</p><p>  3.5.2 硬件開(kāi)發(fā)環(huán)境的需求分析</p><p>  目前計(jì)算機(jī)的主流配置

35、酷睿i3處理器,2GB內(nèi)存,2GB獨(dú)顯,甚至是比這個(gè)更高的配置,完成可以在這樣的硬件環(huán)境下運(yùn)行所需軟件。</p><p><b>  3.6 設(shè)計(jì)方案</b></p><p>  方案一:B/S模式(Browser/Server,瀏覽器/服務(wù)器)</p><p>  B/S(Browser/Server,瀏覽器/服務(wù)器)模式又稱(chēng)B/S結(jié)構(gòu)。它

36、是隨著Internet技術(shù)的興起,對(duì)C/S模式應(yīng)用的擴(kuò)展。在這種結(jié)構(gòu)下,用戶(hù)工作界面是通過(guò)IE瀏覽器來(lái)實(shí)現(xiàn)的[14]。B/S模式最大的好處是運(yùn)行維護(hù)比較簡(jiǎn)便,能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪(fǎng)問(wèn)和操作共同的數(shù)據(jù);最大的缺點(diǎn)是對(duì)企業(yè)外網(wǎng)環(huán)境依賴(lài)性太強(qiáng),由于各種原因引起企業(yè)外網(wǎng)中斷都會(huì)造成系統(tǒng)癱瘓。B/S結(jié)構(gòu),主要是利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的

37、多種Script語(yǔ)言(VBScript、JavaScript…)和ActiveX技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來(lái)需要復(fù)雜專(zhuān)用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開(kāi)發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。</p><p>  方案二:C/S (Client/Server,客戶(hù)機(jī)/服務(wù)器)</p><p>  C/S (Client/Server,客戶(hù)機(jī)/服務(wù)器)模式又稱(chēng)C/S結(jié)構(gòu),是軟件系統(tǒng)體系結(jié)構(gòu)

38、的一種[15]。C/S模式簡(jiǎn)單地講就是基于企業(yè)內(nèi)部網(wǎng)絡(luò)的應(yīng)用系統(tǒng)。C/S模式軟件開(kāi)發(fā)廣泛應(yīng)用于現(xiàn)在的局域網(wǎng)中,它以其靈活的設(shè)計(jì)方法,豐富的客戶(hù)表現(xiàn)形式,快速的數(shù)據(jù)交換能力受到廣大用戶(hù)的的歡迎.但是他在廣域網(wǎng)上的能力受到了限制,通過(guò)結(jié)合VPN技術(shù)以及在廣域網(wǎng)上C/S模式軟件開(kāi)發(fā)的特點(diǎn)和一些注意事項(xiàng)進(jìn)行剖析,使C/S模式開(kāi)發(fā)應(yīng)用到廣域網(wǎng)上。</p><p>  3.6.1 方案的比較</p><

39、p>  基于C/S的技術(shù)存在以下三大致命的弱點(diǎn)[16]:1.數(shù)據(jù)庫(kù)的集中管理,造成局部工作效率低下。2.應(yīng)用邏輯封裝在C端的客戶(hù)機(jī)上,系統(tǒng)擴(kuò)充性低,不易維護(hù)和修改。3.應(yīng)用邏輯的簡(jiǎn)單封裝,使其對(duì)應(yīng)用服務(wù)器性能要求過(guò)高,最終導(dǎo)致系統(tǒng)效率無(wú)法充分發(fā)揮。而基于Web的計(jì)算機(jī)技術(shù)、B/S(Browser/Server)結(jié)構(gòu)和用戶(hù)界面統(tǒng)一機(jī)制來(lái)作用戶(hù)訪(fǎng)問(wèn)應(yīng)用服務(wù)器,其中最重要的就是數(shù)據(jù)庫(kù)服務(wù)器。這樣采用B/S(Browser/Server)

40、結(jié)構(gòu),在軟件開(kāi)發(fā)工作中主要集中于服務(wù)器端的應(yīng)用程序,可以節(jié)約對(duì)客戶(hù)端的應(yīng)用程序進(jìn)行開(kāi)發(fā)所花費(fèi)的時(shí)間和麻煩。</p><p>  3.6.2 方案的選擇</p><p>  在設(shè)計(jì)本系統(tǒng)時(shí),考慮到C/S作為一種需要客戶(hù)端的架構(gòu),用戶(hù)要求下載安裝客戶(hù)端,對(duì)于便利用戶(hù)操作不利。而B(niǎo)/S架構(gòu)則允許用戶(hù)直接通過(guò)瀏覽器訪(fǎng)問(wèn)登陸頁(yè)面,通過(guò)驗(yàn)證后進(jìn)入系統(tǒng),完成各項(xiàng)操作。對(duì)用戶(hù)的要求低,非常方便,快捷,同

41、時(shí)無(wú)客戶(hù)端的設(shè)計(jì)大大減少了系統(tǒng)維護(hù)與系統(tǒng)升級(jí)的成本。綜上所述,本系統(tǒng)選擇B/S體系結(jié)構(gòu)。</p><p><b>  4 概要設(shè)計(jì)</b></p><p><b>  4.1 概述</b></p><p>  非實(shí)時(shí)網(wǎng)上答疑系統(tǒng)的設(shè)計(jì)應(yīng)該本著方便學(xué)生提問(wèn)和教師解惑的方向進(jìn)行。應(yīng)該有簡(jiǎn)單容易上手的界面,有必要的身份驗(yàn)證。

42、學(xué)生提出的問(wèn)題要有針對(duì)性,故提問(wèn)應(yīng)選擇課程和章節(jié),問(wèn)題的歸類(lèi)也按照課程章節(jié)進(jìn)行。教師根據(jù)自己擔(dān)任的課程和自己所講課程的章節(jié)有目的的對(duì)學(xué)生提出的問(wèn)題進(jìn)行解答,讓學(xué)生對(duì)于課程知識(shí)有更深的掌握。</p><p>  4.2 系統(tǒng)功能定義</p><p>  非實(shí)時(shí)網(wǎng)上答疑系統(tǒng)根據(jù)用戶(hù)的分類(lèi)分為三個(gè)模塊:學(xué)生模塊、教師模塊和管理員模塊。</p><p>  4.2.1

43、學(xué)生模塊功能定義</p><p>  學(xué)生模塊功能列表如表4.1</p><p>  表4.1 學(xué)生模塊功能列表</p><p>  4.2.2 教師模塊功能定義</p><p>  教師模塊功能列表如表4.2</p><p>  表4.2 教師模塊功能列表</p><p>  4.2.3

44、管理員模塊功能定義</p><p>  管理員模塊功能列表如表4.3</p><p>  表4.3 教師模塊功能列表</p><p>  4.3 系統(tǒng)數(shù)據(jù)描述</p><p>  系統(tǒng)數(shù)據(jù)描述是在系統(tǒng)開(kāi)發(fā)的總體任務(wù)的基礎(chǔ)上完成。</p><p>  管理員信息的輸入,包括管理員用戶(hù)名、密碼、姓名、電話(huà)</p&g

45、t;<p>  教師信息的輸入,包括教師用戶(hù)名、密碼、姓名、性別、郵箱、電話(huà)</p><p>  學(xué)生信息的輸入,包括學(xué)生用戶(hù)名、密碼、學(xué)號(hào)、姓名、性別、郵箱、電話(huà)</p><p>  課程信息的輸入,包括課程名,添加時(shí)間</p><p>  章節(jié)信息的輸入,包括章節(jié)號(hào),添加時(shí)間</p><p>  問(wèn)題信息的輸入,包括問(wèn)題標(biāo)題

46、,問(wèn)題內(nèi)容,添加時(shí)間,問(wèn)題回復(fù),課程編號(hào),學(xué)生編號(hào),教師編號(hào)</p><p>  4.4 數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)是技術(shù)是信息資源管理最有效的手段。數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)指定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),有效存儲(chǔ)數(shù)據(jù),滿(mǎn)足用戶(hù)信息要求和處理要求。數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率

47、,保證數(shù)據(jù)的完整和一致。</p><p>  4.4.1 數(shù)據(jù)庫(kù)實(shí)體設(shè)計(jì)</p><p>  根據(jù)4.3的系統(tǒng)數(shù)據(jù)描述規(guī)劃出的實(shí)體有:管理員實(shí)體、教師實(shí)體、學(xué)生實(shí)體問(wèn)題實(shí)體、課程實(shí)體。各個(gè)實(shí)體屬性圖如下。</p><p>  管理員實(shí)體屬性如圖4.1所示。</p><p>  圖4.1 管理員實(shí)體圖</p><p>

48、  教師實(shí)體屬性如圖4.2所示。</p><p>  圖4.2 教師實(shí)體圖</p><p>  學(xué)生實(shí)體屬性如圖4.2所示。</p><p>  圖4.3 學(xué)生實(shí)體圖</p><p>  問(wèn)題實(shí)體屬性如圖4.4所示</p><p>  圖4.4 問(wèn)題實(shí)體圖</p><p>  課程章節(jié)實(shí)體屬性如

49、圖4.5</p><p>  圖4.5 課程章節(jié)實(shí)體圖</p><p>  4.4.2 系統(tǒng)E-R圖</p><p>  系統(tǒng)E-R圖如圖4.6所示</p><p>  圖4.6 系統(tǒng)E-R圖</p><p>  4.5 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)</p><p>  現(xiàn)在需要將上面的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)

50、轉(zhuǎn)化為SQL Server 2008數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。在線(xiàn)學(xué)習(xí)答疑系統(tǒng)數(shù)據(jù)庫(kù)名為“QuestionAnswering.mdb”,數(shù)據(jù)庫(kù)中共有5張表如下。</p><p>  表4.4為管理員表用于存放管理員信息;id為編號(hào),aname為管理員登陸名,apassword為管理員登陸密碼,arealname為管理員姓名,atele為管理員電話(huà)。</p><p&

51、gt;  表4.4 Admin</p><p>  表4.5為教師表,用于存放教師信息,id為教師編號(hào),tname為教師登錄名,tpassword為教師登錄密碼, realname為教師姓名,tsex為教師性別,temail為教師郵件地址,ttele為教師聯(lián)系電話(huà)。</p><p>  表4.5 Teacher</p><p>  表4.6為學(xué)生表,用于存放學(xué)生信息

52、;id為學(xué)生編號(hào),sname為學(xué)生登錄名,spassword為學(xué)生登錄密碼,strealname為學(xué)生姓名,ssex為學(xué)生性別,semail為學(xué)生郵件地址,stele為學(xué)生聯(lián)系電話(huà),sumber為學(xué)生學(xué)號(hào)。</p><p>  表4.6 Student</p><p>  表4.7為課程表用于存放課程和章節(jié)信息,id為課程編號(hào),subname為課程名或者章節(jié)名,subtime為添加課程或章

53、節(jié)信息時(shí)間,subparent用于通過(guò)級(jí)聯(lián)區(qū)分課程還是章節(jié)。</p><p>  表4.7 Subject</p><p>  表4.8為問(wèn)題表用于存放問(wèn)題及問(wèn)題回復(fù);problemid為問(wèn)題編號(hào),subjectid為課程或章節(jié)編號(hào),sid關(guān)聯(lián)學(xué)生信息編號(hào)標(biāo)示,problemtitle為問(wèn)題題目,problemcontent為問(wèn)題內(nèi)容,addtime為添加問(wèn)題時(shí)間,tid為關(guān)聯(lián)教師信息的編

54、號(hào)標(biāo)示,answer為問(wèn)題答案。</p><p>  表4.8 Problem</p><p>  5 系統(tǒng)詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)</p><p>  5.1 系統(tǒng)架構(gòu)的實(shí)現(xiàn)</p><p>  正如上面所介紹的技術(shù),本次系統(tǒng)架構(gòu)的具體實(shí)現(xiàn)如圖5.1所示</p><p>  圖5.1 系統(tǒng)架構(gòu)實(shí)現(xiàn)圖</p>

55、<p>  圖中BLL為三層架構(gòu)的BLL層即業(yè)務(wù)邏輯層,主要是針對(duì)具體的問(wèn)題的操作,也可以理解成對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯處理;Common中封裝一些公共類(lèi);DAL層即數(shù)據(jù)訪(fǎng)問(wèn)層,主要是對(duì)原始數(shù)據(jù)(數(shù)據(jù)庫(kù)或者文本文件等存放數(shù)據(jù)的形式)的操作層,是對(duì)數(shù)據(jù)的操作,而不是數(shù)據(jù)庫(kù),具體為業(yè)務(wù)邏輯層或表示層提供數(shù)據(jù)服務(wù);DBUtility中存放一下數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)過(guò)程的類(lèi),如DbHelperSQL.cs,控制數(shù)據(jù)庫(kù)打連接斷開(kāi)等操作;Mod

56、el層即實(shí)體層,主要包含一下實(shí)體類(lèi),也就是把數(shù)據(jù)庫(kù)表的字段映射為對(duì)象的各個(gè)屬性;Question Answering為表示層是指系統(tǒng)的具體界面,用于數(shù)據(jù)錄入,數(shù)據(jù)顯示等,只做與外觀(guān)顯示相關(guān)的事情。數(shù)據(jù)從客戶(hù)端進(jìn)入程序后通過(guò)SQuestion Answering中的邏輯控制,使用Model層中的對(duì)象進(jìn)行數(shù)據(jù)載體,最終通過(guò)DAL層中的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)類(lèi)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)。</p><p>  5.2 后臺(tái)數(shù)據(jù)庫(kù)和前端應(yīng)用

57、程序連接模塊</p><p>  在此系統(tǒng)中后臺(tái)數(shù)據(jù)庫(kù)和網(wǎng)站頁(yè)面的連接是由以下代碼實(shí)現(xiàn)的。所有的對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)都是調(diào)用PubConstant這個(gè)類(lèi)中的以下兩個(gè)方法。</p><p>  ///獲得連接字符串</p><p>  public static string ConnectionString</p><p><b>  {

58、 </b></p><p><b>  get </b></p><p><b>  {</b></p><p>  string _connectionString = ConfigurationManager.AppSettings["ConnectionString"];

59、 </p><p>  string ConStringEncrypt = ConfigurationManager.AppSettings["ConStringEncrypt"];</p><p>  if (ConStringEncrypt == "true")</p><p><b>  {</b&g

60、t;</p><p>  _connectionString = DESEncrypt.Decrypt(_connectionString);</p><p><b>  }</b></p><p>  return _connectionString; </p><p><b>  }</b>&l

61、t;/p><p><b>  }</b></p><p>  ///得到web.config里配置項(xiàng)的數(shù)據(jù)庫(kù)連接字符串</p><p>  public static string GetConnectionString(string configName)</p><p><b>  {</b><

62、;/p><p>  string connectionString = ConfigurationManager.AppSettings[configName];</p><p>  string ConStringEncrypt = ConfigurationManager.AppSettings["ConStringEncrypt"];</p><p

63、>  if (ConStringEncrypt == "true")</p><p><b>  {</b></p><p>  connectionString = DESEncrypt.Decrypt(connectionString);</p><p><b>  }</b></p&g

64、t;<p>  return connectionString;</p><p><b>  }</b></p><p>  5.3 管理員登錄模塊</p><p>  這個(gè)模塊是用于管理員登陸的,管理員必須輸入正確的賬號(hào)、密碼和驗(yàn)證碼。設(shè)置驗(yàn)證碼是防止他人暴力攻擊破解系統(tǒng),對(duì)系統(tǒng)內(nèi)部數(shù)據(jù)造成損害。</p><

65、;p>  圖5.2 管理員登陸</p><p>  該登陸界面是用TABLE進(jìn)行控制的,使用了三個(gè)TextBox控件,兩個(gè)Button控件,一個(gè)Label控件(用于驗(yàn)證碼輸入錯(cuò)誤提示)構(gòu)成。</p><p>  管理員登錄認(rèn)證流程圖如圖5.3所示</p><p>  圖5.3 管理員登錄認(rèn)證流程圖</p><p><b> 

66、 驗(yàn)證代碼如下:</b></p><p>  protected void btnLogn_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  // 判斷驗(yàn)證碼是否輸入正確</p><p>  string code = txtSig

67、nCode.Text.Trim();</p><p>  string rightCode = Session["checkcode"].ToString();</p><p>  if (code != rightCode)</p><p><b>  {</b></p><p>  Page.Cl

68、ientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('驗(yàn)證碼輸入錯(cuò)誤!');</script>");</p><p>  txtSignCode.Text = &qu

69、ot;";</p><p>  txtPwd.Focus();</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if (this.txtUser.Text != "" || this.txtPwd.Text

70、 != "")</p><p><b>  {</b></p><p>  // SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

71、 </p><p>  BLL_Admin bll = new BLL_Admin();</p><p>  string name = this.txtUser.Text.Trim();</p><p>  string pwd = this.txtPwd.Text.Trim();</p><p>  if (bll.CheckL

72、oginUser(name, pwd, 1))</p><p><b>  {</b></p><p>  //登陸成功(做判斷,加載什么頁(yè)面)</p><p>  Session["NameID"] = this.txtUser.Text.Trim();</p><p>  Page.ClientS

73、cript.RegisterStartupScript(this.GetType(), "提示", "alert('登陸成功!');", true);</p><p>  this.Response.Redirect("~/Admin/Default.aspx");</p><p><b>  }<

74、/b></p><p><b>  else</b></p><p><b>  {</b></p><p>  txtUser.Text = "";</p><p>  txtPwd.Text = "";</p><p>  P

75、age.ClientScript.RegisterStartupScript(this.GetType(), "提示", "alert('用戶(hù)名或密碼錯(cuò)誤!');", true);</p><p><b>  }</b></p><p><b>  }</b></p><

76、p><b>  else</b></p><p><b>  {</b></p><p>  Page.ClientScript.RegisterStartupScript(this.GetType(), "提示", "alert('請(qǐng)?zhí)顚?xiě)用戶(hù)名和密碼!');", true);<

77、/p><p><b>  }</b></p><p><b>  }</b></p><p>  登陸成功進(jìn)入非實(shí)時(shí)網(wǎng)上答疑系統(tǒng)的后臺(tái)如圖5.4,管理可以點(diǎn)擊左側(cè)的導(dǎo)航菜單選擇需要進(jìn)行的管理操作,用戶(hù)管理包括管理員管理,教師管理,學(xué)生管理,網(wǎng)站管理包括問(wèn)題管理、課程管理和課程章節(jié)管理。</p><p>

78、  圖5.4 管理員后臺(tái)</p><p>  5.3 后臺(tái)頁(yè)面導(dǎo)航欄模塊</p><p>  圖5.5 后臺(tái)頁(yè)面導(dǎo)航欄</p><p>  后臺(tái)頁(yè)面的導(dǎo)航欄如圖5.5所示,是通過(guò)使用javascript實(shí)現(xiàn)的,其執(zhí)行過(guò)程如下:</p><p>  /*菜單單擊事件,展開(kāi)菜單;MenuId為要展開(kāi)的菜單id名稱(chēng)*/</p>&l

79、t;p>  function ExpandMenu(MenuId) {</p><p>  //如果沒(méi)有設(shè)置當(dāng)前菜單子對(duì)象,則設(shè)置</p><p>  if (CurrentChild == null) SetCurrentMenu(MenuId);</p><p>  //如果菜單在移動(dòng),則返回</p><p>  if (MenuI

80、sMoving) return;</p><p>  //獲取要展開(kāi)的菜單子對(duì)象</p><p>  NowChild = eval(MenuId + "Child");</p><p>  //如果要展開(kāi)的菜單子對(duì)象是已經(jīng)展開(kāi)的菜單子對(duì)象,則返回</p><p>  if (NowChild == CurrentChil

81、d) return;</p><p><b>  //標(biāo)志菜單在移動(dòng)</b></p><p>  MenuIsMoving = IsIE6;</p><p><b>  //改變樣式</b></p><p>  NowChild.style.display = "";</p

82、><p>  NowChild.style.overflow = "hidden";</p><p>  CurrentChild.style.overflow = "hidden";</p><p><b>  //開(kāi)始移動(dòng)菜單</b></p><p>  MoveMenu(0);&

83、lt;/p><p><b>  }</b></p><p>  /*移動(dòng)菜單;FromHeight表示從該高度開(kāi)始移動(dòng)*/</p><p>  function MoveMenu(FromHeight) {</p><p>  ToHeight = FromHeight + MoveStep; //移動(dòng)到的高度</p

84、><p>  //改變移動(dòng)菜單的高度</p><p>  CurrentChild.style.height = MenuHeight - ToHeight;</p><p>  NowChild.style.height = ToHeight;</p><p>  //是否要繼續(xù)移動(dòng)菜單</p><p>  if (To

85、Height < MenuHeight - MoveStep && MenuIsMoving) {</p><p><b>  //繼續(xù)移動(dòng)菜單</b></p><p>  setTimeout("MoveMenu(" + ToHeight + ")", 1);</p><p>&l

86、t;b>  }</b></p><p><b>  else {</b></p><p>  /*停止移動(dòng)菜單*/</p><p><b>  //改變樣式</b></p><p>  NowChild.style.overflow = "auto";</

87、p><p>  CurrentChild.style.overflow = "auto";</p><p>  CurrentChild.style.display = "none";</p><p>  //保存要移動(dòng)的菜單子對(duì)象為當(dāng)前菜單子對(duì)象</p><p>  CurrentChild = NowC

88、hild;</p><p>  //設(shè)置單前菜單子對(duì)象的高度</p><p>  CurrentChild.style.height = MenuHeight;</p><p><b>  //停止移動(dòng)標(biāo)志</b></p><p>  MenuIsMoving = false;</p><p>&

89、lt;b>  }</b></p><p><b>  }</b></p><p>  5.3 教師管理模塊</p><p>  教師管理模塊界面的用戶(hù)列表由MultiView控件、View控件和GridView控件組成;添加修改用戶(hù)信息界面是由MultiView控件、View控件和部分TextBox、Button控件組成,頁(yè)

90、面布局通過(guò)Table進(jìn)行控制。</p><p>  點(diǎn)擊教師管理后,右側(cè)顯示教師信息列表,如果點(diǎn)擊添加鍵,則列表將被替換成如圖5.6所示的教師信息添加修改界面,可以添加新的教師;點(diǎn)擊列表上的編輯按鈕后,同樣進(jìn)入教師信息添加修改界面,但是信息內(nèi)容是由列表中的內(nèi)容填充的,可以只修改要修改的地方;點(diǎn)擊列表上的刪除按鈕可以刪除過(guò)時(shí)或無(wú)用的信息。</p><p>  圖5.6 教師信息添加修改界面&

91、lt;/p><p>  教師信息添加修改執(zhí)行過(guò)程如下:</p><p>  Question_Answering.Model.Teacher model = new Question_Answering.Model.Teacher();</p><p>  model.tname = FUser.Text;</p><p>  model.tpa

92、ssword = FPwd.Text;</p><p>  model.realname = FName.Text;</p><p>  model.tsex = FSex.SelectedValue;</p><p>  model.ttel = FTel.Text;</p><p>  model.temail = FMail.Text;

93、</p><p>  if (this.id.Value != "")</p><p><b>  {</b></p><p>  model.id = Convert.ToInt32(id.Value);</p><p>  if (bll.Update(model))</p><

94、;p>  { Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('修改成功');", true);</p><p><b>  }</b></p><p><b>  else

95、</b></p><p>  { Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('修改失敗');", true);</p><p><b>  }</b></p>

96、<p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  if (bll.Add(model) > 0)</p><p><b>  {</b></p&

97、gt;<p>  Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('添加成功');", true);</p><p>  id.Value = bll.GetMaxId().ToString();</p><p><b>  

98、}</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('添加失敗')

99、;", true);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5.4 其他模塊</b></p><p>  學(xué)生管理,管理員管理、課程管理、問(wèn)題管理模塊基本與教師管理模塊相同,在此不再一一列出。&l

100、t;/p><p>  6 系統(tǒng)測(cè)試及試運(yùn)行</p><p><b>  6.1 測(cè)試目的</b></p><p>  在該階段主要是對(duì)應(yīng)用程序的編碼進(jìn)行調(diào)試,排除存在的程序邏輯錯(cuò)誤。并且往數(shù)據(jù)庫(kù)中裝入測(cè)試用數(shù)據(jù)。由于數(shù)據(jù)庫(kù)中通常包含著一個(gè)組織內(nèi)多個(gè)部門(mén)的數(shù)據(jù),這些數(shù)據(jù)的格式、規(guī)格都可能不同,所以在加載之前要對(duì)這些數(shù)據(jù)作嚴(yán)格地檢驗(yàn)、整理,將數(shù)據(jù)裝

101、入數(shù)據(jù)庫(kù)。</p><p>  6.2 學(xué)生登錄測(cè)試</p><p>  學(xué)生登錄面板如圖6.1所示</p><p>  圖6.1 學(xué)生登錄面板</p><p>  未輸入用戶(hù)名和密碼直接點(diǎn)擊學(xué)生登錄,提示如圖6.2</p><p>  圖6.2 用戶(hù)名、密碼輸入為空提示</p><p>  

102、用戶(hù)名、密碼輸入錯(cuò)誤后,提示如圖6.3</p><p>  圖6.3 學(xué)生登錄失敗</p><p>  輸入正確的用戶(hù)名和密碼后,學(xué)生登錄成功提示如圖6.4,然后就可以進(jìn)行提問(wèn),查看自己提出的問(wèn)題的操作了。</p><p>  圖6.4 學(xué)生登錄成功</p><p>  6.3 學(xué)生注冊(cè)測(cè)試</p><p>  學(xué)生

103、注冊(cè)頁(yè)面如圖6.5所示</p><p>  圖6.5 學(xué)生注冊(cè)頁(yè)面</p><p>  如果用戶(hù)名、密碼、學(xué)號(hào)、姓名、手機(jī)號(hào)輸入為空則無(wú)法提交注冊(cè)信息,并且有如圖6.6所示提示</p><p>  圖6.6 信息為空提示</p><p>  如果電子郵箱和手機(jī)號(hào)輸入格式有問(wèn)題,則同樣出現(xiàn)紅色提示,要求輸入正確格式,</p>&l

104、t;p>  當(dāng)所有信息都正確輸入后,如圖6.7,則不會(huì)再出現(xiàn)紅色提示,點(diǎn)擊提交注冊(cè)后會(huì)彈出網(wǎng)頁(yè)消息提示:注冊(cè)成功。</p><p>  圖6.7 正確信息輸入后</p><p>  6.4 學(xué)生管理功能測(cè)試</p><p>  6.4.1 測(cè)試學(xué)生信息的添加</p><p>  管理員點(diǎn)擊添加按鈕后進(jìn)入添加學(xué)生信息界面,輸入如圖6.

105、8所示信息,</p><p>  圖6.8 輸入測(cè)試信息圖</p><p>  然后點(diǎn)擊提交按鈕得到如圖6.9提示,說(shuō)明添加成功</p><p>  圖6.9 添加信息成功提示</p><p>  如果再添加一個(gè)新用戶(hù),但是用戶(hù)名圖6.9所示的用戶(hù)名則出現(xiàn)圖6.10添加失敗,說(shuō)明用戶(hù)名不能重復(fù)。</p><p>  圖

106、6.10 添加失敗</p><p>  6.4.2 測(cè)試學(xué)生信息的修改</p><p>  點(diǎn)擊學(xué)生信息列表里的編輯,進(jìn)入修改界面,現(xiàn)在我們修改用戶(hù)名為234的信息,如圖6.11為修改后的信息點(diǎn)擊提交后提示修改成功。</p><p>  圖6.11 修改成功</p><p>  6.4.3 測(cè)試學(xué)生信息的刪除</p><

107、;p>  將鼠標(biāo)移動(dòng)要?jiǎng)h除的學(xué)生列表的上,點(diǎn)擊列表中的刪除按鈕后,可以刪除對(duì)應(yīng)的信息,如圖6.12所示,提示刪除成功,將學(xué)生234信息刪除掉了。</p><p>  圖6.12 刪除學(xué)生信息</p><p><b>  6.5 測(cè)試總結(jié)</b></p><p>  通過(guò)測(cè)試,數(shù)據(jù)庫(kù)的操作正常,系統(tǒng)功能設(shè)計(jì)達(dá)到任務(wù)書(shū)要求,滿(mǎn)足了網(wǎng)上答疑的

108、需要,各功能模塊運(yùn)行正常。</p><p><b>  7 結(jié)論</b></p><p>  這幾個(gè)月的畢業(yè)設(shè)計(jì)給了我很好的實(shí)踐機(jī)會(huì),讓我對(duì)ASP.NET有了更深一步的了解,也加強(qiáng)了我在編程方面的動(dòng)手能力,加深了我對(duì)一部分知識(shí)的理解。以前我在學(xué)習(xí)C#,總是淺嘗輒止,感覺(jué)差不多就行了,通過(guò)這次自己實(shí)踐做東西,才發(fā)現(xiàn)自己差的很遠(yuǎn),比方說(shuō)表和表之間的級(jí)聯(lián)關(guān)系該如何建立,頁(yè)

109、面局部無(wú)刷新技術(shù),考慮安全問(wèn)題等,這些問(wèn)題都直接呈現(xiàn)到了我的面前,經(jīng)過(guò)網(wǎng)上查資料和向同學(xué)的詢(xún)問(wèn),我取得了答案,慢慢的將其掌握。</p><p>  此次最大的體會(huì)就是,編程要心靜,要有耐性,能夠承受一天天盯著電腦與一堆堆代碼進(jìn)行親密接觸,可以忍受為了檢查一個(gè)小錯(cuò)誤,而逐句查看代碼,將其錯(cuò)誤的地方糾出來(lái),不能心急這樣反而發(fā)現(xiàn)和解決不了存在的問(wèn)題。</p><p>  在設(shè)計(jì)時(shí)一定細(xì)心,避免許

110、多低級(jí)錯(cuò)誤的發(fā)生,如因?yàn)橹杏⑽牡妮斎敕ㄒ鸬木幾g錯(cuò)誤,因忘記設(shè)置某一個(gè)控件的屬性而導(dǎo)致部分功能不能實(shí)現(xiàn)。還要避免一些邏輯性錯(cuò)誤,邏輯性錯(cuò)誤通常是難以檢測(cè)的,它不會(huì)報(bào)錯(cuò),但是總是得不到自己想要的結(jié)果,遇到這種問(wèn)題要學(xué)會(huì)將思維跳出來(lái),不能總是死鉆牛角,可以問(wèn)別人,將具體情況描述給別人,讓旁觀(guān)者給你點(diǎn)出錯(cuò)誤,俗話(huà)說(shuō)旁觀(guān)者清。</p><p>  通過(guò)這次最后的實(shí)踐,我明白了為什么許多大學(xué)畢業(yè)生總是找不到工作,是因?yàn)槲覀?/p>

111、的動(dòng)手能力太差,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),沒(méi)有實(shí)踐你根本無(wú)法掌握理論知識(shí),并且很容易就將其忘掉。以后的工作中,我更需要努力學(xué)習(xí),來(lái)彌補(bǔ)這個(gè)差距。</p><p><b>  參 考 文 獻(xiàn)</b></p><p>  [1] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)(第3版)[M] .大連:大連理工大學(xué)出版社,2003.195-213.</p><p>  [2]

112、王純賢,吳焱明.基于WWW的通用課程自動(dòng)輔導(dǎo)系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2000,5:21-23.</p><p>  [3] 鄭阿奇,劉啟芬,顧韻華.SQL Server實(shí)用教程[M].北京:電子工業(yè)出版社,2002.1-450.</p><p>  [4] 揚(yáng)國(guó)才,王建峰,王玉昆. 基于Web的遠(yuǎn)程自學(xué)型教學(xué)系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2000,10:61-63.</p&g

113、t;<p>  [5] 丁寶康,董健全.數(shù)據(jù)庫(kù)實(shí)用教程[M] .北京:清華大學(xué)出版社,2001.68-96.</p><p>  [6] 宋紅,李珍香.計(jì)算機(jī)網(wǎng)絡(luò)與遠(yuǎn)程教育[J].計(jì)算機(jī)與現(xiàn)代化,2000,9:56-60.</p><p>  [7] 張文仲.ASP.NET網(wǎng)絡(luò)開(kāi)發(fā)技術(shù)[M].北京:人民郵電出版社,2006.1-2.</p><p> 

114、 [8]王珊、薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2006.52-56.</p><p>  [9]余雷、周松建.ASP.NET應(yīng)用開(kāi)發(fā)百例[M].北京:清華大學(xué)出版社,2003.20-40.</p><p>  [10]李勁.精通ASP數(shù)據(jù)庫(kù)設(shè)計(jì)[M].北京:科學(xué)出版社,2001.25.</p><p>  [11]武蒼林、羅晃.Web數(shù)據(jù)庫(kù)的AS

115、P開(kāi)發(fā)方案[J].計(jì)算機(jī)工程與科學(xué),1999,8:22.</p><p>  [12]劉志成、寧云智.Web項(xiàng)目開(kāi)發(fā)教程:ASP.NET[M].北京:電子工業(yè)出版社2010.32-50.</p><p>  [13]徐人鳳、曾建華.SQL Server 2005數(shù)據(jù)庫(kù)及應(yīng)用[M].北京:高等教育出版社,2007.11-26.</p><p>  [14] 李嚴(yán),于亞

116、芳,王國(guó)輝.ASP數(shù)據(jù)庫(kù)開(kāi)發(fā)實(shí)例解析[M].北京:機(jī)械工業(yè)出版社,2004.12</p><p>  [15] 王國(guó)輝,牛強(qiáng),李南南.ASP工程應(yīng)用與項(xiàng)目實(shí)踐[M].機(jī)械工業(yè)出版社,2005.4.</p><p>  [16] 陳旭.CRM綜述[J].計(jì)算機(jī)應(yīng)用研究,2001,9(25):9-11.</p><p>  [17] 孫明麗,鄒天思,蓋天宇.ASP數(shù)據(jù)庫(kù)

117、系統(tǒng)開(kāi)發(fā)案例精選[M].北京:人民郵電出版社,2006.1.</p><p>  [18] 郭常圳,李云錦.ASP.NET網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)例學(xué)與實(shí)踐[M].北京:清華大學(xué)出版社 2006.1.</p><p><b>  致 謝</b></p><p>  在即將結(jié)束的四年大學(xué)生活之際,我首先要感謝我的父母,他們不僅在生活和學(xué)習(xí)中給我最多的關(guān)懷和

118、幫助,更給予我以精神上莫大的支持和鼓勵(lì)。我唯有更努力地學(xué)習(xí)和工作,才能報(bào)答他們對(duì)我的愛(ài)與關(guān)懷。</p><p>  感謝計(jì)算機(jī)科學(xué)技術(shù)學(xué)院的老師們。從他們身上我學(xué)到了許多寶貴的知識(shí)和做人的道理。他們?cè)趯W(xué)業(yè)上對(duì)我的悉心指導(dǎo),以及孜孜不倦、嚴(yán)謹(jǐn)細(xì)致的科研態(tài)度,更令我受益終生。</p><p>  感謝我的指導(dǎo)老師——?jiǎng)⒆兩徖蠋?。她在我的畢業(yè)設(shè)計(jì)過(guò)程中不斷的督促我,給我許多指導(dǎo)。</p&g

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論