畢業(yè)設計----學生自學系統的分析與設計_第1頁
已閱讀1頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  遠程輔修學生自學系統的分析與設計</p><p>  姓 名: </p><p>  學 號: </p><p>  專 業(yè): 計算機科學與技術 </p><p>  學 院:機電與信息工程學院</p><p>  指導教師: </p>&

2、lt;p><b>  輔導教師:</b></p><p><b>  起止日期:</b></p><p><b>  摘 要</b></p><p>  隨著科學的進步,社會的發(fā)展,利用網絡進行遠程教學已是教育界的一個趨勢。隨著網絡教育的正規(guī)化,越來越多的人傾向于通過網絡進行教育,如何充分發(fā)揮

3、網絡在教學領域的作用,成為一個重要而迫切的問題。</p><p>  本論文詳細介紹了遠程輔修學生自學系統的開發(fā)過程,包括設計過程、關鍵技術以及其成果。在開發(fā)過程中嚴格遵守軟件工程的思想,按照需求分析、數據庫設計、概要設計、詳細設計、編碼、改進和性能優(yōu)化的步驟進行開發(fā)。該系統主要完成以下功能:教師維護教學課件,具體包括課件的在線設計與維護;學生選擇課程自學,并對學生自學進度進行跟蹤;學生筆記功能,學生在學習過程中

4、可以做筆記,學生可以自己查詢自己所作的筆記,教師可以查詢所有學生所作的筆記;教師清除某門課程的所有學生筆記功能等。</p><p>  本系統不僅僅是在手段上搭起一個有助于提高教學質量、促進學生認知能力的技術平臺,也希望以此為基礎,作一個教學探索,引導師生從傳統的教學觀念上進行轉變。</p><p>  關鍵詞:互連網;ASP.NET;自學;WEB</p><p>

5、<b>  Abstract</b></p><p>  Analysis and Design of Remote Student Self-study System</p><p>  With the advancement of science and the development of society, the application of interne

6、t has become a trend in education field. Also with the standardization of the online education, more and more people have tended to be educated via internet, how to bring the role of the network into full play in the fie

7、ld of teaching has become an important and urgent problem.</p><p>  This thesis introduced the development process of the Analysis and Design of Remote Student Self-study System in detail, including the desi

8、gn process, the key technique and its results. Obey the thought of the software engineering strictly during the period of development, according to the need analysis, database design, essentials design, detailed design,

9、code, improvement and the optimization of the function to carry on a development. This system is mainly to complete the following functions: </p><p>  This system not only is the technique terrace which take

10、s to contribute to raising teaching quality and promotes the student cognition ability, but also hopes to take this as foundation, making a teaching investigate, leads the teachers and the students carry on a change from

11、 the traditional teaching idea.</p><p>  Key words:Internet; ASP.NET; Self-study; WEB</p><p><b>  目 錄</b></p><p><b>  1.緒論1</b></p><p>  1.1 問

12、題定義及內容簡介1</p><p>  1.2 課題調研與可行性分析1</p><p>  1.2.1 課題調研1</p><p>  1.2.2 可行性分析2</p><p>  1.3 論文各章內容介紹2</p><p><b>  2.需求分析3</b></p>&

13、lt;p>  2.1 系統功能需求分析4</p><p>  2.2 數據流圖分析4</p><p>  2.3 數據字典7</p><p><b>  3.系統設計9</b></p><p>  3.1 系統的總體結構設計9</p><p>  3.2 系統的開發(fā)與環(huán)境配置11

14、</p><p>  3.2.1 系統開發(fā)方法11</p><p>  3.2.2 系統環(huán)境配置12</p><p><b>  4.詳細設計13</b></p><p>  4.1 各功能模塊詳細設計13</p><p>  4.1.1 學生選課模塊13</p><

15、p>  4.1.2 學生學習模塊14</p><p>  4.1.3 自學進度模塊15</p><p>  4.1.4 筆記管理模塊16</p><p>  4.1.5 教師課件維護17</p><p>  4.2 主要問題及解決方法18</p><p>  4.2.1 關于課程內容的編輯18<

16、/p><p>  4.2.2 關于文件、圖片和影像的上傳和顯示20</p><p>  4.2.3 關于TreeView目錄樹跟數據庫的鏈接顯示23</p><p>  4.2.4 關于TreeView目錄樹節(jié)點的添加、修改與刪除26</p><p>  5.結論及存在問題29</p><p>  5.1 系統特色

17、29</p><p>  5.2 系統存在不足30</p><p><b>  致 謝32</b></p><p><b>  參考文獻34</b></p><p>  遠程輔修學生自學系統的分析與設計</p><p>  姓名: 學號:

18、 班級:計算機科學與技術(X)班</p><p><b>  1.緒論</b></p><p>  隨著計算機和信息技術的發(fā)展,知識更新日益加快,已有的知識傳播途徑已經滿足不了這種需求,迫切需要一種全新的知識傳播方式,計算機網絡技術的不斷成熟和進步,使得基于計算機網絡技術的遠程教育成為可能。由此,計算機輔助教學正在進入一個新的階段,即網絡教學,是學

19、習方法上的一次具有跨時代意義的革命。</p><p>  1.1 問題定義及內容簡介</p><p>  目前遠程教學平臺的開發(fā)熱點主要是集中于網上教學管理系統和教學支持系統的開發(fā),對教學過程提供全面、基礎的支持,如學生注冊、教學傳遞、教學追蹤等。在此基礎上,進一步發(fā)展必然是提供對課程開發(fā)以及教學過程較深層次的支持。</p><p>  傳統的基于客戶機/服務器(C

20、lient/Server, C/S)的應用程序,除了安裝服務程序外還必須為每臺客戶機安裝客戶端應用程序,一旦程序升級或修改,每臺客戶機的程序都必須重新安裝升級,工作量極大,不利于維護。</p><p>  隨著計算機業(yè)的發(fā)展和Internet日益成熟,采用瀏覽器/服務器(Browser/Server, B/S)的應用程序日漸成熟,基于瀏覽器客戶端的應用程序比傳統的基于C/S的應用程序有幾個優(yōu)勢,包括幾乎沒有限制的

21、客戶端訪問和極其簡化的應用程序部署和管理,即使更新一個應用程序,管理人員只需要更改一個基于服務器的程序,而不是成千上萬的安裝在客戶端的應用程序。大大簡化了維護的工作量,也無需開發(fā)客戶端的應用程序,節(jié)約了程序的開發(fā)成本,客戶端只用連上了全球互聯網就可以在全球各地使用程序。</p><p>  1.2 課題調研與可行性分析</p><p>  1.2.1 課題調研</p><

22、;p>  隨著信息時代的到來,人類知識更新的周期越來越短,如何使得教學和培訓能夠滿足不同地點和不同學習時間人們的需要,傳統的面對面教學方式已經力不從心。在這種情況下,現代遠程教學應運而生,它的優(yōu)點在于使得學生在時間和地點不同的情況下能與教師進行交互并完成學習任務。計算機輔助教學(Computer Assisted Instruction, CAI)與Internet技術的有機結合,使得基于網絡的現代遠程教育成為現代教育的發(fā)展趨勢。

23、</p><p>  基于WEB的教學,就是用萬維網作為教學媒體傳送教學內容,在網上實施教學、管理教學并進行網上測試和網上交流。WEB作為教學載體,其優(yōu)勢不僅在于它是很好的內容載體,可以隨時隨地地訪問,還在于它提供了很多交流渠道,可以促進師生之間、學生之間的充分討論,這對于提高教學質量,促進學生高級認知能力的開發(fā)是十分重要的。而本課題旨在研究遠程輔修學生自學系統的分析與設計。</p><p&g

24、t;  本系統的設計基于實名制管理系統,采用Microsoft ASP.NET[7]平臺進行開發(fā),數據庫[1]使用Microsoft SQL Server。具體完成以下功能:</p><p>  教師維護教學課件,具體包括課件的在線設計與維護;</p><p>  學生選擇課程自學,并對學生自學進度進行跟蹤;</p><p>  學生筆記功能,學生在學習過程中可以做

25、筆記,學生可以自己查詢自己所作的筆記,教師可以查詢所有學生所作的筆記;</p><p>  教師清除某門課程的所有學生筆記功能等。</p><p>  1.2.2 可行性分析</p><p><b>  技術可行性</b></p><p>  本系統需要一臺WEB服務器,配置要求與客戶量成正比,對于一個學校內使用,一臺普

26、通的服務器即可,當前的主流服務器完全可以滿足要求。對于客戶端,只需要客戶端裝有瀏覽器即可,對機器本身沒有太高的要求,一般當前學校或個人電腦完全可滿足要求。</p><p>  對于軟件技術要求,現在基于B/S架構的程序設計語言已非常成熟,從早期的CGI,到現在的ASP、JSP、PHP的百花齊放,再到微軟剛推出不久ASP.NET,為基于B/S程序設計提供了強大的技術支持。使用其中任何一門語言開發(fā)都可以滿足要求。&l

27、t;/p><p>  ASP.NET是一種建立在通用語言上的程序構架,能被用于一臺WEB服務器來建立強大的WEB應用程序。ASP.NET提供許多比現在的WEB開發(fā)模式更為強大的優(yōu)勢。WEB服務器軟件也很多,其中任意一個都可以勝任,數據庫可以使用SQL Server 2000[2]。</p><p><b>  經濟可行性</b></p><p> 

28、 企事業(yè)單位可利用現有的服務器,裝上WEB服務器軟件,即可成為一臺WEB服務器,客戶只要連上Internet利用自己的機器即可使用系統,而機器的配置就算不是很高也完全可以應付,這對企事業(yè)單位不構成經濟的負擔,系統成本主要集中在系統軟件的開發(fā)上,當系統投入運行后可以為企事業(yè)單位節(jié)約大量的人力、物力。所帶來的效益遠遠大于系統軟件的開發(fā)成本。在經濟上完全可行。</p><p>  1.3 論文各章內容介紹</p&

29、gt;<p>  本論文圍繞整個系統的設計、開發(fā)展開,從一開始的調研到以后的程序設計,在本論文中都進行了詳細的描述。</p><p>  本論文第一章為緒論,介紹了該系統的問題定義及內容簡介,研究背景與研究意義,課題調研與可行性分析。</p><p>  論文的第二章進行了詳細的系統需求分析,介紹了系統功能需求分析,數據流圖分析,數據字典以及系統業(yè)務流重組與改進。</p

30、><p>  論文的第三章是系統的設計部分,詳細介紹了系統總體結構設計,系統數據模型設計,系統開發(fā)與運行環(huán)境。</p><p>  論文的第四章為詳細設計,在詳細設計中主要介紹了各子模塊功能、界面設計,詳細設計以及在系統開發(fā)過程中遇到主要問題及解決方案。</p><p>  論文的第五章為結論與存在問題,包括系統特色/優(yōu)點介紹,系統存在不足與改進方案。</p>

31、;<p>  論文的最后為:致謝及參考文獻。</p><p><b>  2.需求分析</b></p><p>  需求分析[5]簡單地說就是分析用戶的需求。需求分析是整個系統設計的起點,需求分析的結果是否準確地反映了用戶的實際要求,將直接影響到后面各個階段的設計,并影響到設計結果是否合理和實用。</p><p>  需求分析的任

32、務是通過詳細調查現實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(手工系統或計算機系統)工作概況,明確用戶的各種需求,然后在此基礎上確定新系統的功能。</p><p>  調查的重點是“數據”和“處理”,通過調查、收集與分析,獲得用戶對數據庫的如下要求:</p><p><b>  信息要求</b></p><p>  指用戶需要從數

33、據庫中獲得信息的內容和性質。由信息要求可以導出數據要求,即在數據庫中需要存儲哪些數據。</p><p><b>  處理要求</b></p><p>  指用戶要完成什么處理功能,對處理的響應時間有什么要求,處理方式是批處理還是聯機處理。</p><p><b>  安全性與完整性要求</b></p><

34、;p>  確定用戶的最終需求是一件很困難的事,這是因為一方面用戶缺少計算機知識,開始時無法確定計算機究竟能為自己做什么,不能做什么,因此往往不能準確地表達自己的需求,所提出的需求往往不斷地變化。另一方面,設計人員缺少用戶的專業(yè)知識,不易理解用戶的真正需求,甚至誤解用戶的需求。因此,設計人員必須不斷深入地與用戶交流,才能逐步確定用戶的實際需求。</p><p>  在許多互聯網發(fā)達的國家,比如美國,其國內的許

35、多著名大學開始進行網絡教學,并取得了巨大的成功,在國內,雖然目前也由一些大學開始網絡教育的招生,但是,無論是規(guī)模還是其他的都要比美國落后一截。由于國內網絡的一些限制,使得我國的網上教育的開展也受到了限制,但是,如果建立了寬帶網,網上學習者就可利用高速網方便的學習,并能和老師進行實時的交互學習,這使得大家可以達到面對面教學的完整效果。</p><p>  2.1 系統功能需求分析</p><p&

36、gt;  本系統的設計基于實名制管理系統,具體完成以下功能:</p><p>  教師維護教學課件,具體包括課件的在線設計與維護;</p><p>  學生選擇課程自學,并對學生自學進度進行跟蹤;</p><p>  學生筆記功能,學生在學習過程中可以做筆記,學生可以自己查詢自己所作的筆記,教師可以查詢所有學生所作的筆記;</p><p> 

37、 教師清除某門課程的所有學生筆記功能等。</p><p>  2.2 數據流圖分析</p><p>  數據流圖描繪系統的邏輯模型,圖中沒有任何具體的物理元素,只是描繪信息在系統中流動和處理的情況。因為數據流圖是邏輯系統的圖形表示,即使不是專業(yè)的計算機技術人員也容易理解,所以是極好的通信工具。</p><p>  結構化數據流程分析[6]采用分層的數據流程圖(Dat

38、a Flow Diagram,簡稱DFD)實現。數據流程分析的目的是要發(fā)數據流通中的問題。數據流程分析把數據在組織內部的流動情況抽象地獨立出來,舍去了具體組織機構、信息載體、處理工作、物資、材料等,僅從數據流動過程中考察實際業(yè)務的數據處理模式。數據流圖是結構化分析(Structured Analysis, SA)方法中用于表示系統邏輯模型的一種工具。它以圖形的方式描述數據在系統中流動和處理的過程,由于它只反映系統必須完成的邏輯功能,所以

39、它是一種功能模型。數據流圖有四種基本圖形符號:“→”表示數據流;“○”表示加工;“=”表示數據存儲;“”表示數據的源點或終點。</p><p>  DFD的畫法一般遵循“由外向里”的原則,即先確定系統的邊界或范圍,再考慮系統的內部,先畫加工的輸入和輸出,再畫加工的內部。即:</p><p>  識別系統的輸入和輸出;</p><p>  從輸入端至輸出端畫數據流和加

40、工,并同時加上文件;</p><p>  加工的分解“由外向里”進行分解;</p><p>  數據流的命名,名字要確切,能反映整體;</p><p>  各種符號布置要合理,分布均勻,盡量避免交叉線;</p><p>  先考慮穩(wěn)定態(tài),后考慮瞬間態(tài)。如系統啟動后在正常工作狀態(tài),稍后再考慮系統的啟動和終止狀態(tài)。</p><

41、p>  通過對系統的需求分析,系統的基本功能已經大體確定,下面介紹本系統5個主要的數據流圖,它們分別是頂層數據流圖、0層數據流圖、1層(a)數據流圖、1層(b)數據流圖和1層(c)數據流圖。</p><p>  頂層數據流圖確定了系統的邊界,描述了系統的總體功能需求,學生、系統、老師三者的相互聯系可以從頂層數據流圖中充分體現出來。學生通過系統選擇課程進行自學,做筆記和查詢所做的筆記,系統對學生自學進度進行跟

42、蹤;老師可以通過系統進行教學課件維護,還可以查詢和清除所有學生的筆記。頂層數據流圖如圖2-1所示。</p><p>  圖2-1 頂層數據流圖</p><p>  圖2-2 0層數據流圖</p><p>  0層數據流圖是對頂層數據流圖的細化,該圖更清晰詳盡地把0層數據流圖要表達的東西體現了出來,功能結構更加明確,使人一目了然。0層數據流圖主要把頂層數據流圖中的

43、“學生自學”加工細分為6個主要的加工,它們都有各自功能,各個功能之間相互聯系,構成了整個系統的主要功能。0層數據流圖如圖2-2所示。</p><p>  1層(a)數據流圖是對0層數據流圖中的“自學進度跟蹤”加工項的進一步細化,系統接收到自學進度信息,從自學進度記錄數據庫中調出信息數據反饋給學生;學生在學習的過程中,系統會根據學生點擊的章節(jié)而更新自學進度情況并且保存在自學進度記錄數據庫中。1層(a)數據流圖如圖2

44、-3所示。</p><p>  圖2-3 1層(a)數據流圖</p><p>  1層(b)數據流圖是對0層數據流圖中的“筆記管理跟蹤”加工項的進一步細化,系統接收到筆記信息,從筆記記錄數據庫中調出筆記信息數據反饋給學生和老師;學生通過系統修改筆記內容并且保存在筆記記錄數據庫中,老師通過系統刪除筆記并且保存在筆記記錄數據庫中。1層(b)數據流圖如圖2-4所示。</p>&l

45、t;p>  圖2-4 1層(b)數據流圖</p><p>  1層(c)數據流圖是對0層數據流圖中的“課件維護”加工項的進一步細化,老師通過系統可以進行新增課程、添加章節(jié)、插入章節(jié)、修改章節(jié)和刪除章節(jié)的操作,并且把維護后的信息保存在課件庫中。1層(c)數據流圖如圖2-5所示。</p><p>  圖2-5 1層(c)數據流圖</p><p><b&g

46、t;  2.3 數據字典</b></p><p>  數據字典[5]是對在數據流圖中每一個命名的圖形元素均給予定義,其內容有圖形元素的名字、別名或編號、分類、描述、定義、位置等,是系統分析階段的重要文檔,它清楚地定義與詳細地解釋了數據流程圖上不能詳細表達的內容,同時它也是同用戶溝通的工具。數據字典是為了數據流圖中的每個數據流、文件、加工,以及組成數據流或文件的數據項做出說明,其中對每個加工的描述稱為“

47、小說明”,也可稱為“加工邏輯說明”。</p><p>  數據字典是關于數據的信息的集合,也就是對數據流圖中包含的所有元素的定義的集合。任何字典最主要的用途都是供人查閱對不了解的條目的解釋,數據字典的作用也正是在軟件分析和設計的過程中給人提供關于數據的描述信息。</p><p>  數據流圖和數據字典共同構成系統的邏輯模型,沒有數據字典數,數據流圖就不嚴格;反之,沒有數據流,數據字典也難于

48、發(fā)揮作用。只有數據流圖和對數據流圖中每個元素的精確定義放在一起,才能共同構成系統的規(guī)格說明。</p><p>  數據字典最重要的用途是作為分析階段的工具。在數據字典中建立的一組嚴密一致的定義有助于改進分析員和用戶之間的通信,因此將消除許多可能的誤解。對數據的這一系列嚴密一致的定義,也有助于改進在不同的開發(fā)人員或不同的開發(fā)小組之間的通信。如果要求所有開發(fā)人員都根據公共的數據字典描述數據和設計模塊,則能避免許多麻煩

49、的接口問題。</p><p>  數據字典中包含的每個數據元素的控制信息是很有價值的。因為列出了使用一個給定的數據元素的所有程序(或模塊),所以很容易估計改變一個數據將產生的影響,并且能對所有受影響的程序或模塊做出相應的改變。</p><p>  下面是本系統的詳細數據字典。</p><p>  表2-1 數據存儲條目描述表</p><p>

50、;  數據存儲的條目[3]主要描述了數據存儲的結構,以及相關的數據流、處理邏輯等。上表主要描述了自學進度記錄數據庫、筆記記錄數據庫和課件庫這三個主要數據庫的數據組成以及對其功能的說明。</p><p>  表2-2 自學進度信息數據表</p><p>  自學進度信息數據表主要記錄了自學進度的詳細信息,它保存到了根節(jié)點,因此自學進度可以跟蹤查詢到根節(jié)點中去,而其中學生ID是該表中的主鍵,

51、因為每個學生有各自不同的自學進度信息。由于學生的自學進度會隨著學生自學而不斷變化,所以該表中的信息也會跟著不斷的產生變化。</p><p>  表2-3 筆記信息數據表</p><p>  筆記信息數據表主要記錄了學生筆記的詳細信息,每個學生都可以有自己的筆記,可以保存多份筆記。所以學生ID是該表中的主鍵。</p><p>  表2-4 課件信息數據表</

52、p><p>  課件信息數據表主要記錄了課件的詳細信息,該數據庫與遠程輔修實名制用戶管理系統的課件庫相聯系,因為其中保存了大量的重要數據,所以是幾個表中最為重要的一個,課件庫中的信息會隨課件的維護而不斷變化更新,其中課程ID是該表中的主鍵,不同的課程有著不同的章節(jié)內容。</p><p><b>  3.系統設計</b></p><p>  系統設計

53、工作應該自頂向下地進行。首先設計總體結構,然后再逐層深入,直至進行每一個模塊的設計。總體設計主要是指在系統分析的基礎上,對整個系統的劃分、機器設備(包括軟、硬設備)的配置、數據的存貯規(guī)律以及整個系統實現規(guī)劃等方面進行合理的安排。</p><p>  3.1 系統的總體結構設計</p><p>  經過對本系統的分析,為完善本系統的功能主要添加了以下幾個功能模塊:學生選課模塊、學生學習模塊、

54、自學進度模塊、筆記管理模塊和教師課件維護模塊。其中,筆記管理模塊又細分為兩個至模塊,分別是學生筆記管理模塊和教師筆記管理模塊。各個模塊都有其自身的功能,其中生選課模塊、學生學習模塊、自學進度模塊、自學進度模塊和筆記管理模塊為學生主模塊,而筆記管理模塊和教師課件維護模塊為教師主模塊。教師課件維護模塊又細分了4個小模塊,分別為新增章節(jié)、修改章節(jié)、刪除章節(jié)和插入章節(jié)。模塊與模塊之間緊密聯系。其具體的功能模塊圖如圖3-1所示。</p>

55、;<p>  圖3-1 學生自學系統功能模塊圖</p><p>  表3-1 各功能模塊說明表</p><p>  3.2 系統的開發(fā)與環(huán)境配置</p><p>  3.2.1 系統開發(fā)方法</p><p>  ASP、PHP、JSP、ASP.NET這是當前比較流行的四種WEB網站編程語言。</p><p

56、>  ASP[8]全名Active Server Pages,是一個WEB服務器端的開發(fā)環(huán)境,利用它可以產生和執(zhí)行動態(tài)的,互動的,高性能的WEB服務應用程序。ASP采用腳本語言VBScript/JavaScript)作為自己的開發(fā)語言。</p><p>  PHP是一種跨平臺的服務器端的嵌入式腳本語言。它大量地借用C、Java和Perl語言的語法,并耦合PHP自己的特性,使WEB開發(fā)者能夠快速地寫出動態(tài)產生

57、頁面。它支持目前絕大多數數據庫,而且你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。</p><p>  JSP(Java Server Page)是Sun公司推出的新一代網站開發(fā)語言,Sun公司借助自己在Java上的不凡造詣,將Java從Java應用程序和Java Applet之外,又有新的碩果,就是JSP。JSP可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。</

58、p><p>  ASP.NET是一種建立在通用語言上的程序構架,能被用于一臺WEB服務器來建立強大的WEB應用程序。ASP.NET提供許多比現在的WEB開發(fā)模式強大的優(yōu)勢。三者都提供在HTML代碼中混合某種程序代碼,由語言引擎解釋執(zhí)行程序代碼的能力。在ASP、PHP、JSP環(huán)境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的HTML頁面只依賴于WEB服務器,而ASP、PHP、JSP頁面

59、需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結果被重新嵌入到HTML代碼中,然后一起發(fā)送給瀏覽器。ASP、PHP、JSP三者都是面向WEB服務器的技術,客戶端瀏覽器不需要任何附加的軟件支持。</p><p>  本系統的開發(fā),使用ASP.NET語言,ASP.NET是建立在公共語言運行庫上的編程框架,可用于在服務器上生成功能強大的WEB應用程序。與以前的WEB開發(fā)模型相比,ASP.NET提供了數個重要的優(yōu)點

60、:</p><p>  增強的性能。ASP.NET是在服務器上運行的編譯好的公共語言運行庫代碼。與被解釋的前輩不同,ASP.NET可利用早期綁定、實時編譯、本機優(yōu)化和盒外緩存服務。這相當于在編寫代碼行之前便顯著提高了性能。</p><p>  世界級的工具支持。ASP.NET框架補充了Visual Studio集成開發(fā)環(huán)境中的大量工具箱和設計器。WYSIWYG編輯、拖放服務器控件和自動部署

61、只是這個強大的工具所提供功能中的少數幾種。</p><p>  威力和靈活性。由于ASP.NET基于公共語言運行庫,因此WEB應用程序開發(fā)人員可以利用整個平臺的威力和靈活性。.NET框架類庫、消息處理和數據訪問解決方案都可從WEB無縫訪問。ASP.NET也與語言無關,所以可以選擇最適合應用程序的語言,或跨多種語言分割應用程序。另外,公共語言運行庫的交互性保證在遷移到ASP.NET時保留基于COM的開發(fā)中的現有投資

62、。</p><p>  簡易性。ASP.NET使執(zhí)行常見任務變得容易,從簡單的窗體提交和客戶端身份驗證到部署和站點配置。例如,ASP.NET頁框架使您可以生成將應用程序邏輯與表示代碼清楚分開的用戶界面,和在類似Visual Basic的簡單窗體處理模型中處理事件。另外,公共語言運行庫利用托管代碼服務(如自動引用計數和垃圾回收)簡化了開發(fā)。</p><p>  可管理性。ASP.NET采用基

63、于文本的分層配置系統,簡化了將設置應用于服務器環(huán)境和WEB應用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應用新設置。此“零本地管理”哲學也擴展到了ASP.NET框架應用程序的部署。只需將必要的文件復制到服務器,即可將ASP.NET框架應用程序部署到服務器。不需要重新啟動服務器,即使是在部署或替換運行的編譯代碼時。</p><p>  可縮放性和可用性。ASP.NET在設計時考慮

64、了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進程受到ASP.NET運行庫的密切監(jiān)視和管理,以便當進程行為不正常(泄漏、死鎖)時,可就地創(chuàng)建新進程,以幫助保持應用程序始終可用于處理請求。</p><p>  自定義性和擴展性。ASP.NET隨附了一個設計周到的結構,它使開發(fā)人員可以在適當的級別“插入”代碼。實際上,可以用自己編寫的自定義組件擴展或替換ASP.NET運行庫的任何子組件。實

65、現自定義身份驗證或狀態(tài)服務一直沒有變得更容易。</p><p>  安全性。借助內置的Windows身份驗證和基于每個應用程序的配置,可以保證應用程序是安全的。</p><p>  3.2.2 系統環(huán)境配置</p><p>  根據系統的開發(fā)目標,原則和項目需求,我選擇了用Microsoft公司Windows XP Professional SP2作為操作系統平臺,

66、Microsoft Visual Studio 2005[20]作為系統的編譯軟件,Microsoft SQL Server 2000作為后端數據庫服務器軟件。</p><p>  表3-2 系統開發(fā)軟件環(huán)境配置表</p><p>  表3-3 系統運行硬件配置表</p><p>  表3-4 系統運行網絡配置表</p><p><

67、;b>  4.詳細設計</b></p><p>  進行了系統的總體設計后即可在此基礎上進行系統的詳細設計了,即各種輸入、輸出、處理和數據存儲等的詳細設計。</p><p>  詳細設計的目的是為軟件結構圖中的每個模塊確定采用的算法和數據結構,用某種選定的表達式工具給出清晰的描述。詳細設計是軟件開發(fā)的第二階段,它要求在概要設計的基礎上,考慮“怎樣實現軟件系統,直到系統中的

68、每個模塊給出足夠詳細的過程性描述”,這些描述通常用表達式工具來表示。</p><p>  詳細設計是編碼的先導,這個階段所產生的設計文檔的質量將直接影響下一階段程序的質量。這一階段的主要任務是編寫軟件的“詳細設計說明書”,并要為每個模塊設計出一組測試用例,以便在編碼階段對模塊代碼進行預定的測試。</p><p>  4.1 各功能模塊詳細設計</p><p>  4

69、.1.1 學生選課模塊</p><p>  這個模塊所實現的功能比較簡單,就是學生根據已有的課程進行選擇學習,首先學生由遠程輔修實名制系統登錄進入。當學生選擇課程后自動會跳轉到該課程的學習頁面,學習頁面記錄了課程的具體內容,學生可以就該課程進行學習。已有的課程庫是與遠程輔修實名制用戶系統中的課程設置數據庫相關聯。</p><p>  圖4-1 學生選課流程圖</p><

70、;p>  4.1.2 學生學習模塊</p><p>  圖4-2 學生學習流程圖</p><p>  當學生選取了所要進行學習的課程后就進入到了該課程的學習頁面,在該頁面學生可以根據自身需要點擊所要學習的章節(jié)進行學習,可以選擇自學進度跟蹤學習則會跳轉到上一次學習的章節(jié)頁面,在學習的過程中可以做筆記記錄。當學生學習調用課件的內容時,系統首先從數據庫中讀取該課件內容的地址,然后根據該地

71、址讀取相應的文件,顯示出來。</p><p>  4.1.3 自學進度模塊</p><p>  ASP.NET引入了新的功能,您只需對頁面和應用程序啟用此功能,就可以查看有關單個ASP.NET頁請求的診斷信息。這項稱為跟蹤的功能還允許您在代碼中直接寫出調試語句,而不必在將應用程序部署到成品服務器后從應用程序中移除它們。您可以在頁面中寫出變量或結構,斷言是否滿足某個條件,或者只是跟蹤通過頁面

72、或應用程序的執(zhí)行路徑。</p><p>  ASP.NET包括Trace對象[15](與Response、Request或Context對象類似),該對象允許您編寫當啟用頁或整個應用程序的跟蹤時出現的調試語句。ASP.NET使用TraceContext類來存儲有關請求的信息、它的控件層次結構和跟蹤信息。跟蹤信息包括頁請求的某些生命周期階段以及您選擇包括的任何自定義語句。</p><p> 

73、 TraceContext類可通過Page.Trace屬性用于WEB窗體頁。通過擴展Control類創(chuàng)建自定義ASP.NET服務器控件時,可以使用Control.Context.Trace語法通過Control.Context屬性訪問TraceContext。</p><p>  在頁中將自定義跟蹤消息寫入跟蹤記錄:</p><p>  在頁的代碼聲明塊或代碼隱藏類中,使用Trace屬性調

74、用TraceContext方法之一。</p><p>  為跟蹤語句指定可選的category參數??梢允褂迷擃悇e對所顯示的跟蹤語句進行排序。</p><p>  為跟蹤語句指定message參數。這可以是字符串或方法。</p><p>  指定可選的errorInfo參數,該參數包含有關頁中任何錯誤的信息。</p><p>  ASP.NE

75、T 2.0允許通過代碼在TraceFinished事件[14]里來訪問每個請求的跟蹤信息。TraceFinished事件是由TraceContext對象引發(fā),用于在收集完所有請求信息后公開跟蹤消息??梢岳么耸录Ω櫺畔⑦M行不同的輸出。</p><p>  通過Page.Trace屬性或Control.Context屬性可以使用TraceContext類。前者在開發(fā)ASP.NET頁時可用。后者在要將跟蹤語句包括

76、在自定義服務器控件或要從頁以外(如global.asax文件)包括跟蹤語句時可用。</p><p>  以下代碼就是用程序輸出跟蹤信息</p><p> ?。?@ Page Language="C#" %></p><p> ?。糞CRIPT runat="server"></p><p>  prot

77、ected void Page_Load(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  Trace.TraceFinished+=new TraceContextEventHandler(OnTraceFinished);</p><p>  Trace.Wri

78、te("自定義類別","自定義跟蹤消息");</p><p><b>  }</b></p><p>  private void OnTraceFinished(object sender,TraceContextEventArgs e)</p><p><b>  {</b>&l

79、t;/p><p>  foreach(TraceContextRecord tcr in e.TraceRecords)</p><p><b>  {</b></p><p>  Response.Write(string.Format("<li>跟蹤類別:{0}跟蹤消息:{1}", tcr.Category,tcr.Mess

80、age));</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  </SCRIPT></b></p><p>  4.1.4 筆記管理模塊</p><p>  筆記管理模塊主要包括有兩個不同的模塊,

81、一個是作用于學生筆記維護頁面,另一個作用于老師筆記維護頁面。</p><p>  圖4-3 學生筆記維護流程圖</p><p>  學生筆記維護頁面包含了對學生筆記添加、修改、刪除這些基本的功能,學生可以通過這些功能對筆記進行相關的設置,在進行相關設置的過程中會彈出與之相關的對話框,由用戶選擇是否確定操作。學生筆記維護流程可參看圖4-3。</p><p>  老師

82、筆記維護界面不僅包含了學生筆記維護頁面所含有的這些基本功能,還增加了個查詢功能,老師可以根據學生學號、學生姓名或者學生所在班級進行準確查詢,查詢班級可以批量地列出班級學生的所有筆記,這樣老師可以方便地刪除整個班級的學生的筆記,不用一個一個的刪除,免去了許多不必要的繁冗操作。老師也可以點擊查看每個學生的筆記或者進行相關的修改、刪除工作。當用戶執(zhí)行操作時,系統即對相應的數據庫進行操作,處于便于維護、安全、執(zhí)行效率等因素的考慮,筆記的內容存放

83、于文件中,數據庫中存放了文件所在的路徑。老師筆記維護流程可參看圖4-4。</p><p>  圖4-4 教師筆記維護流程圖</p><p>  4.1.5 教師課件維護</p><p>  課件的制作與維護,也就是相當于教師進行備課。教師對相關課程的每一章、每一節(jié)進行備課,并在需要時對其進行修改。</p><p>  通過該模塊,老師可以在

84、總系統中添加課件,并對課件的內容進行編輯、修改、插入、刪除等操作,對課件的編輯可以通過本系統提供的可視化編輯器進行編輯,并且可以在內容中插入圖像、動畫等。課件內容的圖片資料由系統數據庫統一維護,圖片上傳至服務器時,有專門的圖片表記錄了圖片所在的位置、所在的章節(jié)、所在的課程等信息,并對其重新命名,以防止圖片名稱的沖突。</p><p>  當用戶登錄后,系統根據用戶名,從用戶表中查找用戶的權限,根據用戶的權限,進入

85、與用戶相關的權限操作界面。界面提供了實現這些功能的可視化環(huán)境。</p><p>  當用戶執(zhí)行操作時,系統即對相應的數據庫進行操作,處于維護方便、安全、執(zhí)行效率等因素的考慮,課件的內容存放于文件中,數據庫中存放了文件所在的路徑。教師課件維護流程可參看圖4-5。</p><p>  圖4-5 教師課件維護流程圖</p><p>  4.2 主要問題及解決方法<

86、/p><p>  4.2.1 關于課程內容的編輯</p><p>  課程內容不僅要有靈活多樣的格式,而且還要能表現生動活潑的圖像和動畫,當然許多的編輯器都能夠實現這個功能,比如Word等。</p><p>  本系統使用了DotNetTextBox V3.0所見即所得編輯器控件For ASP.NET 2.0,該版本插件是基于ASP.NET 2.0技術重寫控件核心架構,

87、不僅運行性能更高效,也可實現更多強大的功能。該插件不僅有如Word中的編輯功能,還可以上傳圖片,支持添加文字水印、圖片水印、生成縮略圖,上傳多媒體文件支持自動播放。</p><p>  控件演示頁面:http://www.dotnettextbox.cn/</p><p>  頁面及Visual Studio 2005調用控件的方法:</p><p>  1.直接在

88、ASPX頁面引用控件的話,請將DotNetTextBox.dll復制到頁面所在項目的bin目錄下,并在頁面頂部添加:</p><p>  <%@Register TagPrefix="dntb" Namespace="DotNetTextBox" Assembly="DotNetTextBox"%></p><p> 

89、 2.在需要加入控件的地方添加:</p><p>  <DNTB:WebEditor id="控件ID" Skin="設置皮膚文件夾的相對路徑" MenuConfig="菜單功能配置文件路徑" runat="server"></DNTB:WebEditor></p><p>  下面介紹

90、比較主要的功能配置說明,配置文件如下:</p><p>  <?xml version="1.0" encoding="utf-8" ?></p><p>  <configuration></p><p>  <rightarea>justifyleft</rightarea>

91、將當前選中區(qū)所在格式化塊左對齊。</p><p>  <rightarea>justifycenter</rightarea>將當前選中區(qū)在所在格式化塊置中。</p><p>  <rightarea>justifyright</rightarea>將當前選中區(qū)所在格式化塊右對齊。</p><p>  <righ

92、tarea>insertorderedlist</rightarea>切換當前選中區(qū)是編號列表還是常規(guī)格式化塊。</p><p>  <rightarea>insertunorderedlist</rightarea>換當前選中區(qū)是項目符號列表還是常規(guī)格式化塊。</p><p>  <rightarea>outdent</righ

93、tarea>減少選中區(qū)所在格式化塊的縮進。</p><p>  <rightarea>indent</rightarea>增加選中文本的縮進。</p><p>  <rightarea>undo</rightarea>撤消。</p><p>  <rightarea>redo</rightare

94、a>重做。</p><p>  <rightarea>delete</rightarea>刪除當前選中區(qū)。</p><p>  <rightarea>cut</rightarea>將當前選中區(qū)復制到剪貼板并刪除之。</p><p>  <rightarea>copy</rightarea>

95、將當前選中區(qū)復制到剪貼板。</p><p>  <rightarea>paste</rightarea>用剪貼板內容覆蓋當前選中區(qū)。</p><p>  <rightarea>printer</rightarea>打開打印對話框以便用戶可以打印當前頁。</p><p>  <rightarea>bold&l

96、t;/rightarea>切換當前選中區(qū)的粗體顯示與否。</p><p>  <rightarea>italic</rightarea>切換當前選中區(qū)斜體顯示與否。</p><p>  <rightarea>underline</rightarea>切換當前選中區(qū)的下劃線顯示與否。</p><p>  <r

97、ightarea>inserthorizontalrule</rightarea>用水平線覆蓋當前選中區(qū)。</p><p>  <rightarea>insertfile</rightarea>上傳文件。</p><p>  <rightarea>insertimage</rightarea>上傳圖像文件。</p>

98、;<p>  <rightarea>insertmedia</rightarea>上傳影像文件。</p><p>  <rightarea>createlink</rightarea>創(chuàng)建網頁鏈接。</p><p>  <rightarea>table</rightarea>表格設置。</p>

99、<p>  </configuration></p><p>  以下是插件編輯器的界面截圖</p><p>  圖4-6 插件編輯器</p><p>  4.2.2 關于文件、圖片和影像的上傳和顯示</p><p>  ASP.NET 2.0提供了FileUpLoad控件允許將文件上載到服務器。它顯示一個文本框控

100、件和一個瀏覽按鈕,該按鈕允許用戶選擇要上載到服務器的文件。用戶通過在控件的文本框中輸入文件在本地計算機上的完全限定路徑來指定要上載的文件?;蛘?,也可以通過單擊“Browse”(瀏覽)按鈕,然后在“Choose File”(選擇文件)對話框中定位文件來選擇文件。對所上載文件的保存位置,沒有固有限制。但是,若要保存文件,ASP.NET進程必須具有在指定位置創(chuàng)建文件的權限。此外,還可能將應用程序配置為要求使用絕對路徑(而不是相對路徑)來保存文

101、件,這是一種安全措施。</p><p>  FileUpload控件[18]不會在用戶選擇了待上載文件后自動將該文件保存到服務器上。必須顯式提供一個控件或機制來允許用戶提交指定的文件。</p><p>  使用FileUpload控件,用戶可能上載潛在有害的文件,這包含腳本文件和可執(zhí)行文件。無法預先限制用戶可以上載的文件。如果希望限制用戶可以上載的文件的類型,則必須在上載文件后檢查文件特征

102、。</p><p>  而本系統直接利用了插件中的上傳功能,這個功能跟FileUpload控件功能上大致相同。</p><p>  下面介紹比較主要的功能配置說明,配置文件如下:</p><p>  <configuration></p><p>  <maxAllUploadSize>20480</maxAll

103、UploadSize>設置上傳文件夾的最大可用空間。</p><p>  <maxSingleUploadSize>1024</maxSingleUploadSize>設置上傳文件單個的最大尺寸。</p><p>  <autoname>false</autoname>設置上傳文件是否自動改名。</p><p>

104、  <allowUpload>true</allowUpload>設置是否允許上傳。</p><p>  <watermarkOption>on</watermarkOption>是否在上傳界面啟用水印選擇的選項on為開啟,off為關閉。</p><p>  <watermark>false</watermark>是否

105、啟用上傳圖片的文字水印。</p><p>  <watermarkName>false</watermarkName>開啟文字水印后是否保留原件并新建副本,false為不新建,false以外的字符則新建副本,副本名稱以該字符加原文件名命名。</p><p>  <watermarkImages>false</watermarkImages>是

106、否啟用上傳圖片的圖片水印。</p><p>  <watermarkImagesName>false</watermarkImagesName>開啟圖片水印后是否保留原件并新建副本,false為不新建,副本名稱以該字符加原文件名命名。</p><p>  <watermarkImages_path>img/aspnet2.GIF</watermar

107、kImages_path>設置圖片水印所在的位置。</p><p>  <smallImages>false</smallImages>是否啟用縮略圖。</p><p>  <smallImagesName>false</smallImagesName>開啟縮略圖后是否保留原件并新建副本,false為不新建,false以外的字符則新建副

108、本,副本名稱以該字符加原文件名命名。</p><p>  <smallImagesType>HW</smallImagesType>略圖縮放類型,HW:指定高寬縮放(可能變形)。W:指定寬,高按比例。H:指定高,寬按比例。Cut:指定高寬裁減(不變形)。</p><p>  <smallImagesW>150</smallImagesW>縮略

109、圖寬度。</p><p>  <smallImagesH>150</smallImagesH>縮略圖高度。</p><p>  <delete>true</delete>是否允許刪除文件。</p><p>  <edit>true</edit>是否允許文件重命名。</p><

110、p>  <fileListBox>true</fileListBox>是否顯示文件列表。</p><p>  <fileFilters>rar,zip,pdf,txt</fileFilters>上傳文件功能可上傳的文件類型。</p><p>  <imagesFilters>jpg,gif,png</imagesFil

111、ters>上傳圖片功能可上傳的文件類型。</p><p>  <mediaFilters>wmv,rm,rmvb,asf,mpg,mp3</mediaFilters>上傳自動播放文件功能可上傳的文件類型。</p><p>  </configuration></p><p>  以下是上傳文件截圖:</p>&

112、lt;p>  圖4-7 上傳文件</p><p>  以下是上傳媒體文件截圖:</p><p>  圖4-8 上傳媒體文件</p><p>  以下是上傳圖像文件截圖:</p><p>  圖4-9 上傳圖像文件</p><p>  4.2.3 關于TreeView目錄樹跟數據庫的鏈接顯示</p>

113、;<p>  ASP.NET TreeView控件[19]是一個用于呈現TreeView UI的功能強大的服務器控件,該控件支持各種編程模型,從靜態(tài)定義的樹、到動態(tài)構造的樹以及數據綁定的樹幾乎無所不包。TreeView的顯示風格是可以完全自定義的,從而允許該控件具有多種外觀。TreeView支持回發(fā)樣式的事件以及簡單的超鏈接導航,還支持唯一的事件處理模型,該模型允許從客戶端直接檢索數據,而無需服務器回發(fā)。</p>

114、;<p>  ASP.NET為了向TreeView提供更有意義的呈現,可以為樹中的節(jié)點指定各自的數據綁定。可以將TreeNodeBinding對象添加到TreeView的Databindings集合,以便對分層數據項的字段映射到TreeNode屬性的方式進行定義。</p><p>  TreeNodeBinding有兩個重要屬性可確定綁定所應用到的分層數據項集。DataMember屬性指定數據項的類

溫馨提示

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

評論

0/150

提交評論