版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 軟件工程在現(xiàn)代軟件開發(fā)中的作用越來越大,并且發(fā)展出了很多行之有效的軟件工程方法和建模語言。UML(Unified Modeling Language,統(tǒng)一建模語言)是一種非常流行的,支持面對對象建模方法的建模語言。到今天UML差不多已經(jīng)成為建模語言的事實標準。本文就采用面對對象的方法以UML為建模語言,使用PowerDe
2、signer這個case工具分析設(shè)計一個分布式的B/S結(jié)構(gòu)的基于COM+和XML的網(wǎng)絡(luò)考試系統(tǒng)。并使用Delphi、VBScript、ADO、XML、HTML等編程工具、語言和技術(shù)實現(xiàn)了這個系統(tǒng)。</p><p> 關(guān)鍵詞:UML COM+ Delphi ASP ADO XML</p><p><b> Abstract</b></p><p&
3、gt; Software Engineering is increasingly important in then modern software development. Today there are many functions and many software engineering methods. The UML (Unified Modeling Language) is one of they. In additi
4、on, it’s a popular and Object-Oriented based model language. The UML has almost been the international standard of model language. Using Object-Oriented Model and UML by case tools of PowerDesigner, the paper designs a d
5、istributed B/S constructed online test system, which is based on </p><p> Key Words:UML COM+ Delphi ASP ADO XML</p><p><b> 目 錄</b></p><p> 分布式網(wǎng)絡(luò)考試系統(tǒng)原型分析及實現(xiàn)1</p&g
6、t;<p><b> 1.問題定義4</b></p><p><b> 2.需求分析4</b></p><p> 2.1.系統(tǒng)目標4</p><p> 2.2.可行性分析4</p><p> 2.2.1.現(xiàn)有的數(shù)據(jù)庫應(yīng)用程序的分層結(jié)構(gòu)4</p>
7、<p> 2.2.1.1.傳統(tǒng)二層結(jié)構(gòu)4</p><p> 2.2.1.2.三層數(shù)據(jù)庫應(yīng)用結(jié)構(gòu)5</p><p> 2.2.1.3.多層分布式數(shù)據(jù)庫系統(tǒng)5</p><p> 2.2.2.網(wǎng)絡(luò)分布式多層應(yīng)用系統(tǒng)6</p><p> 2.2.3.XML語言7</p><p>
8、2.3.本系統(tǒng)的方案選擇8</p><p> 2.4.建模工具的選擇8</p><p> 3.基于UML的系統(tǒng)分析8</p><p> 3.1.用例圖8</p><p> 3.1.1.用戶關(guān)系圖8</p><p> 3.1.2.系統(tǒng)用例圖9</p><p>
9、3.1.3.用例圖利用情況清單9</p><p> 3.2.順序圖10</p><p> 3.2.1.老師活動順序圖10</p><p> 3.2.2.學(xué)生活動順序圖11</p><p> 3.2.3.動作清單11</p><p> 3.2.4.通訊清單12</p>&l
10、t;p> 3.3.類圖13</p><p> 3.3.1.類圖一13</p><p> 3.3.2.類圖二13</p><p> 3.3.3.類清單14</p><p> 3.3.4.類方法清單14</p><p> 3.4.網(wǎng)站頁面布置圖16</p><p
11、> 4.數(shù)據(jù)庫的分析設(shè)計17</p><p> 4.1.數(shù)據(jù)庫概念模型(Conceptual Data Model)17</p><p> 4.1.1.圖17</p><p> 4.1.2.資料清單17</p><p> 4.1.3.實體清單18</p><p> 4.1.4.實
12、體的識別字清單18</p><p> 4.1.5.關(guān)系清單19</p><p> 4.2.數(shù)據(jù)庫物理模型(Physical Data Model)19</p><p> 4.2.1.圖19</p><p> 4.2.2.物理模型欄位清單19</p><p> 4.2.3.表格索引清單20
13、</p><p> 4.2.4.表格引鍵清單21</p><p> 4.2.5.參考清單21</p><p> 4.2.6.表格清單21</p><p> 4.3.SQL語句21</p><p> 5.系統(tǒng)實現(xiàn)26</p><p> 5.1.開發(fā)平臺的選擇26
14、</p><p> 5.2.編程工具的選擇27</p><p> 5.3.XML和網(wǎng)頁編輯工具的選擇27</p><p> 5.4.系統(tǒng)編碼27</p><p> 5.4.1.源程序文件清單27</p><p> 5.4.1.1.網(wǎng)站文件清單:27</p><p>
15、 5.4.1.2.COM+組件源程序文件清單28</p><p> 5.4.2.程序核心代碼29</p><p> 5.4.2.1.學(xué)生進行考試頁面的XLST文件:Testing.xsl29</p><p> 5.4.2.2.定制ASP對象主代碼32</p><p> 5.4.2.3.學(xué)生對象COM+組件主代碼4
16、0</p><p> 5.4.2.4.老師對象COM+組件主代碼47</p><p> 5.4.2.5.管理員COM+組件主代碼50</p><p> 5.4.3.程序運行截圖53</p><p> 5.4.3.1.登錄頁面(系統(tǒng)主界面)53</p><p> 5.4.3.2.學(xué)生維護頁主界
17、面54</p><p> 5.4.3.3.學(xué)生修改個人資料頁面55</p><p> 5.4.3.4.學(xué)生查詢成績頁面56</p><p> 5.4.3.5.學(xué)生參加考試頁面57</p><p> 5.4.3.6.進行考試頁面58</p><p> 5.4.3.7.老師維護頁主界面59&
18、lt;/p><p> 5.4.3.8.老師生成試卷頁面60</p><p> 5.4.3.9.老師修改個人資料頁面61</p><p> 5.4.3.10.管理員維護頁主界面62</p><p> 5.4.3.11.管理員增加老師頁面63</p><p> 5.4.3.12.管理員增加學(xué)生頁面
19、64</p><p> 5.4.3.13.管理員修改密碼頁面65</p><p> 6.系統(tǒng)安裝分發(fā)65</p><p> 6.1.數(shù)據(jù)庫的設(shè)置65</p><p> 6.2.配置COM+環(huán)境67</p><p> 6.3.IIS的配置68</p><p> 6.
20、4.注意事項68</p><p> 7.系統(tǒng)不足與展望68</p><p><b> 8.致謝69</b></p><p> 9.參考文獻69</p><p><b> 問題定義</b></p><p> 現(xiàn)在網(wǎng)絡(luò)正在改變著傳統(tǒng)的教育方式,網(wǎng)絡(luò)教育也
21、越來越多,就算是傳統(tǒng)的教育方式下,把考試搬到網(wǎng)絡(luò)上也是一種趨勢??荚嚨臒o紙化網(wǎng)絡(luò)化不僅能有效減少老師的工作量,很好的利用計算機的優(yōu)勢,提高工作效率,也能使考試更加公平、公正。所以就一定要構(gòu)建一個性能良好安全可靠的可以滿足大量學(xué)生同時使用的網(wǎng)絡(luò)考試系統(tǒng)。</p><p> 本原型系統(tǒng)主要功能如下:</p><p> 學(xué)生可以在網(wǎng)上進行考試,考試結(jié)束后由計算機批改試題給出分數(shù),并記錄成績。
22、</p><p> 學(xué)生在還可以在網(wǎng)上查詢自己的考試成績,修改密碼等個人資料。</p><p> 老師可以在網(wǎng)上出題,修改密碼等個人資料。</p><p> 管理員可以在網(wǎng)上建立學(xué)生、老師等用戶。</p><p><b> 需求分析</b></p><p><b> 系統(tǒng)目標&
23、lt;/b></p><p> 本網(wǎng)絡(luò)考試系統(tǒng)應(yīng)該能滿足學(xué)校幾千學(xué)生在任何地方、任何時間都能參加</p><p> 考試。本系統(tǒng)要讓學(xué)生、老師和管理員在網(wǎng)絡(luò)上可以維護自己的個人資料。學(xué)生也可以在網(wǎng)絡(luò)上通過本系統(tǒng)查詢自己考試的成績;老師能通過網(wǎng)絡(luò)生成試卷;管理員在網(wǎng)絡(luò)上通過本系統(tǒng)增加學(xué)生和老師;另外為了讓考試比較公平,試卷的試題由計算機隨機從題庫抽取。</p><
24、;p><b> 可行性分析</b></p><p> 現(xiàn)有的數(shù)據(jù)庫應(yīng)用程序的分層結(jié)構(gòu)</p><p><b> 傳統(tǒng)二層結(jié)構(gòu)</b></p><p> 傳統(tǒng)的二層式程序,也就是客戶/服務(wù)器(Client/Server)結(jié)構(gòu),這種程序相對簡單、清楚、開發(fā)容易,其結(jié)構(gòu)如圖1??蛻魴C都通過網(wǎng)絡(luò)連接到同一個數(shù)據(jù)庫上,
25、不過這樣結(jié)構(gòu)問題很多,最主要的就是性能較差維護困難已經(jīng)不適應(yīng)在因特網(wǎng)(Internet)上使用。數(shù)據(jù)同一性和完整性難以控制。同時由于每一個客戶機都必須安裝特定的軟件,且這種客戶端軟件體積還比較大,用戶使用起來非常不方便,所以目前已經(jīng)面臨淘汰。不過這樣的系統(tǒng)開發(fā)比較簡單,對開發(fā)人員的技術(shù)要求也不高,在內(nèi)部局域網(wǎng)上使用還有一定的市場。</p><p><b> ?。▓D1)</b></p&g
26、t;<p><b> 三層數(shù)據(jù)庫應(yīng)用結(jié)構(gòu)</b></p><p> 三層結(jié)構(gòu)是目前用得最多的,這種結(jié)構(gòu)比傳統(tǒng)的C/S結(jié)構(gòu)增加了一個應(yīng)用程序服務(wù)器,應(yīng)用程序服務(wù)器包括了統(tǒng)一的界面、業(yè)務(wù)規(guī)則和數(shù)據(jù)處理邏輯等等,這樣客戶端程序就可以做得比較小,也就是常說的瘦客戶,更由于業(yè)務(wù)規(guī)則和數(shù)據(jù)處理邏輯的集中在服務(wù)器上統(tǒng)一管理,客戶端無須進行復(fù)雜的計算,也不會因為錯誤的操作而影響到其他的用戶
27、,所以他的可靠性、穩(wěn)定性和效率都比較好。當然開發(fā)這樣的系統(tǒng)在技術(shù)上和成本上要求就要多一些。(其結(jié)構(gòu)如圖2)</p><p><b> 圖2</b></p><p> 多層分布式數(shù)據(jù)庫系統(tǒng)</p><p> 近年來隨著因特網(wǎng)的快速發(fā)展,許多企業(yè)都開始上網(wǎng),因此基于網(wǎng)絡(luò)的營銷系統(tǒng)、MIS系統(tǒng)、ERP系統(tǒng)都快速發(fā)展起來了,這個時候僅僅三層的應(yīng)用
28、程序已經(jīng)不能滿足實際需求了。因此又發(fā)展出來了多層分布式的數(shù)據(jù)庫系統(tǒng)。在多層分布式系統(tǒng)中,人們把中間的應(yīng)用服務(wù)器再拆分為很多比較小的系統(tǒng),均勻分散到多臺計算機中處理,這樣就能得到更好的性能并且降低了程序復(fù)雜度。在多層分布式數(shù)據(jù)庫系統(tǒng)中必須要有一個所謂的中間件來支持和管理分散的業(yè)務(wù)處理程序。</p><p> 在Windows平臺下微軟公司推出了的Windows DNA(Distributed interNet A
29、pplication Architecture,分布式網(wǎng)絡(luò)應(yīng)用結(jié)構(gòu))策略。把COM+作為Windows DNA策略中的中間件。在Windows2000以上操作系統(tǒng)中,COM+成為了系統(tǒng)的一部分。COM+為中間層提供了負載平衡、對象池(Object Pooling)、事務(wù)特性等一系列的強力支持,并且在COM+中工作的程序受到操作系統(tǒng)的保護,從而最大的保證了系統(tǒng)的安全、穩(wěn)定和高效。當然開發(fā)這樣的系統(tǒng)要求開發(fā)人員必須掌握COM(Compone
30、nt Object Model,組件對象模型)和COM+技術(shù),開發(fā)難度和成本更大了。</p><p><b> 圖3</b></p><p> 網(wǎng)絡(luò)分布式多層應(yīng)用系統(tǒng)</p><p> 近幾年來因特網(wǎng)飛速發(fā)展,人們的生活因為網(wǎng)絡(luò)而在慢慢的改變。現(xiàn)在的個人電腦(PC)上都安裝了瀏覽器(Browser)因此人們就利用瀏覽器來作為客戶端程序,萬
31、維網(wǎng)服務(wù)器(Web Server)作為中間層和客戶端溝通服務(wù)器,這就是現(xiàn)在流行的B/S(Browser/Server)結(jié)構(gòu)方式。在這種結(jié)構(gòu)下,本地的計算機無須安裝任何客戶端程序,只要有瀏覽器,可以使用因特網(wǎng)就可以使用系統(tǒng)了。他不僅僅減少了開發(fā)客戶端帶來的成本,最關(guān)鍵的是,大大減少了系統(tǒng)維護的成本和時間,當修改系統(tǒng)的時候不需要對客戶做任何的改動。并且客戶也可以在任何計算機上使用你的系統(tǒng)而不要做特別的設(shè)置。</p><p
32、> 在B/S系統(tǒng)中以微軟公司的IE瀏覽器、和IIS/ASP(Internet Information Server/Active Server Pages)服務(wù)器應(yīng)用最為廣泛,使用最方便,對中文的支持也是最好的。</p><p> 但是,ASP有一個天生的缺點,就是ASP代碼是采用的VBScript、JScript或者PHP等腳本語言編寫,運行速度相當?shù)穆?,而且和HTML代碼是混在一起的,使ASP程序員
33、既需要考慮與數(shù)據(jù)庫打交道,又需要關(guān)心如何與HTML配合,有時還需要用ASP直接生成HTML代碼。這樣構(gòu)建起來的系統(tǒng)當然是不能滿足中、大型網(wǎng)絡(luò)應(yīng)用的需要。</p><p> 不過好在ASP可以通過腳本語言調(diào)用基于COM的程序,而得到功能和性能上的提升。在微軟公司最新的IIS5.0系統(tǒng)上更可以讓我們使用VC++、VB、Delphi等開發(fā)工具建立定制的運行于COM+環(huán)境中的ASP對象,這種對象,還可以和其他的COM+
34、組件協(xié)同工作。這樣一來我們就可以用B/S方式構(gòu)建多層分布式的應(yīng)用系統(tǒng)來滿足大型網(wǎng)絡(luò)應(yīng)用。</p><p> 這也就是微軟公司所推出的Web分布式多層應(yīng)用程序結(jié)構(gòu)(其結(jié)構(gòu)如圖4)也就是我們常聽到的Windows DNA策略(Windows Distributed internet Application Architecture,視窗系統(tǒng)分布式網(wǎng)絡(luò)應(yīng)用結(jié)構(gòu))。不過開發(fā)這樣的系統(tǒng)需要開發(fā)人員掌握更多的技術(shù),如:AS
35、P、VBScript、JavaScript、HTML/DHTML、ADO、COM/DCOM、MTS/COM+等等,同時學(xué)習(xí)這么多的技術(shù)這對程序員來說是一個不小的挑戰(zhàn)!</p><p><b> 圖4</b></p><p><b> XML語言</b></p><p> XML(eXtended Markup Lan
36、guage)是一種標記語言,就象我們熟悉的HTML一樣,但是XML的標簽是由人們根據(jù)自己的需要來定制的,也就是說,任何詞和字都可以做為標簽來用,只要能準確的表達數(shù)據(jù)的屬性。例如當我們要表達一個人的姓名的時候用HTML也許我們會這樣做:“<H3>張三</H3>”,但如果用XML我們就可以這樣做:“<姓名>張三</姓名>”。數(shù)據(jù)表達的準確性XML絕對比HTML好多了!準確表達數(shù)據(jù)的含義這就是X
37、ML帶來的最大好處。</p><p> 有了XML,我們就能定制各行各業(yè)的XML標簽,這樣對于要傳輸?shù)臄?shù)據(jù)就能用文本方式傳送,并且只要對方有一份標簽的定義文件就可以理解我們所表達的意思,從而在任何程序之間,不管他是用什么語言編寫的;任何系統(tǒng)之間,不管他是運行在什么CPU上的,是Windows、Linux還是MAC OS;任何人之間,無論他是什么國籍,說什么語言,是否懂得你的語言,自由交換信息了。而這些正適應(yīng)了目
38、前因特網(wǎng)的發(fā)展,適應(yīng)了人們溝通交流的需要。</p><p> XML出現(xiàn)短短幾年就得到了廣泛的應(yīng)用,目前新推出的軟件幾乎都會支持XML。例如微軟的Dot Net系列軟件、Office系列軟件等等。不出幾年,XML就會代替HTML成為因特網(wǎng)上標準的標記語言。</p><p> 本系統(tǒng)引入XML語言表達數(shù)據(jù)的好處是使得系統(tǒng)中網(wǎng)頁的顯示和系統(tǒng)處理的數(shù)據(jù)分離,可以使系統(tǒng)不必去處理那些用于網(wǎng)頁界
39、面的代碼,減小開發(fā)系統(tǒng)的復(fù)雜度,減少系統(tǒng)處理時間,減少網(wǎng)絡(luò)傳送量,從而提高效率。另外我們知道目前一般程序員開發(fā)網(wǎng)站的時候都要同時完成網(wǎng)頁的制作,但一般來說程序員都不可能設(shè)計出比專業(yè)的美工還好的網(wǎng)頁來。不過請來專業(yè)美工后怎么和程序員進行合作呢?懂程序開發(fā)的美工可不會太多。而XML就比較好的解決了這個問題,他使程序員不必去做網(wǎng)頁,網(wǎng)頁設(shè)計者不用去管程序。只要定義好XML標簽,程序員就可以用他來表示數(shù)據(jù),而設(shè)計網(wǎng)頁的也可以用他來制作網(wǎng)頁。&l
40、t;/p><p><b> 本系統(tǒng)的方案選擇</b></p><p> 本系統(tǒng)應(yīng)用于因特網(wǎng),并且要滿足一個學(xué)校幾千學(xué)生考試的需要,因此本系統(tǒng)決定采用微軟公司所推出的Web分布式多層應(yīng)用程序結(jié)構(gòu),并且數(shù)據(jù)使用XML表示。</p><p><b> 建模工具的選擇</b></p><p> 以UML
41、語言建模應(yīng)該是以Rational公司的Rose工具為最好。不過Rose太貴了,并且Rose比較龐大,使用不是太方便。Sybase公司出品的PowerDesigner建模工具也支持UML,還提供一個45天的試用版,在數(shù)據(jù)庫建模上也有他獨到的地方。因此建模工具就選用PowerDesigner。</p><p> 基于UML的系統(tǒng)分析</p><p><b> 用例圖</b&
42、gt;</p><p><b> 用戶關(guān)系圖</b></p><p><b> 系統(tǒng)用例圖</b></p><p><b> 用例圖利用情況清單</b></p><p><b> 順序圖</b></p><p><b&
43、gt; 老師活動順序圖</b></p><p><b> 學(xué)生活動順序圖</b></p><p><b> 動作清單</b></p><p><b> 通訊清單</b></p><p><b> 類圖</b></p>&
44、lt;p><b> 類圖一</b></p><p><b> 類圖二</b></p><p><b> 類清單</b></p><p><b> 類方法清單</b></p><p> 注:因為所使用的PowerDesigner并不支持Del
45、phi所使用的Object Pascal編程語言,所以類的分析中省略了參數(shù)返回值等內(nèi)容。</p><p><b> 網(wǎng)站頁面布置圖</b></p><p> 注:密碼驗證構(gòu)件分別為老師、學(xué)生、管理員三個構(gòu)件的登錄(Login)方法調(diào)用</p><p><b> 數(shù)據(jù)庫的分析設(shè)計</b></p><
46、p> 數(shù)據(jù)庫概念模型(Conceptual Data Model)</p><p><b> 圖</b></p><p><b> 資料清單</b></p><p><b> 實體清單</b></p><p><b> 實體的識別字清單</b&g
47、t;</p><p><b> 關(guān)系清單</b></p><p> 數(shù)據(jù)庫物理模型(Physical Data Model)</p><p><b> 圖</b></p><p><b> 物理模型欄位清單</b></p><p><b&g
48、t; 表格索引清單</b></p><p><b> 表格引鍵清單</b></p><p><b> 參考清單</b></p><p><b> 表格清單</b></p><p><b> SQL語句</b></p>&
49、lt;p> /*==============================================================*/</p><p> /* Database name: NetTest (PDM) */</p><p> /* DBMS name: Microsoft SQL
50、 Server 2000 */</p><p> /* Created on: 2002-6-11 11:28:20 */</p><p> /*==============================================================*/</p&g
51、t;<p> alter table NetTest.Papers</p><p> drop constraint FK_PAPERS_CREATE_TEACHERS</p><p><b> go</b></p><p> alter table NetTest.Papers</p><p>
52、 drop constraint FK_PAPERS_TESTING_STUDENTS</p><p><b> go</b></p><p> if exists (select 1</p><p> from sysindexes</p><p> where id = object_id('
53、;NetTest.Admin')</p><p> and name = 'Index_Name'</p><p> and indid > 0</p><p> and indid < 255)</p><p> drop index NetTest.Admin.Index_Name
54、</p><p><b> go</b></p><p> if exists (select 1</p><p> from sysindexes</p><p> where id = object_id('NetTest.Papers')</p><p>
55、 and name = 'Index_StudentID'</p><p> and indid > 0</p><p> and indid < 255)</p><p> drop index NetTest.Papers.Index_StudentID</p><p><b>
56、 go</b></p><p> if exists (select 1</p><p> from sysindexes</p><p> where id = object_id('NetTest.Questions')</p><p> and name = 'Index_Su
57、bjectID'</p><p> and indid > 0</p><p> and indid < 255)</p><p> drop index NetTest.Questions.Index_SubjectID</p><p><b> go</b></p>
58、<p> if exists (select 1</p><p> from sysindexes</p><p> where id = object_id('NetTest.Teachers')</p><p> and name = 'Index_Name'</p><p&g
59、t; and indid > 0</p><p> and indid < 255)</p><p> drop index NetTest.Teachers.Index_Name</p><p><b> go</b></p><p> if exists (select 1</p&
60、gt;<p> from sysobjects</p><p> where id = object_id('NetTest.Admin')</p><p> and type = 'U')</p><p> drop table NetTest.Admin</p><p><
61、;b> go</b></p><p> if exists (select 1</p><p> from sysobjects</p><p> where id = object_id('NetTest.Papers')</p><p> and type = 'U')&
62、lt;/p><p> drop table NetTest.Papers</p><p><b> go</b></p><p> if exists (select 1</p><p> from sysobjects</p><p> where id = object_id(
63、9;NetTest.Questions')</p><p> and type = 'U')</p><p> drop table NetTest.Questions</p><p><b> go</b></p><p> if exists (select 1</p>
64、<p> from sysobjects</p><p> where id = object_id('NetTest.Students')</p><p> and type = 'U')</p><p> drop table NetTest.Students</p><p>
65、<b> go</b></p><p> if exists (select 1</p><p> from sysobjects</p><p> where id = object_id('NetTest.Teachers')</p><p> and type = 'U
66、39;)</p><p> drop table NetTest.Teachers</p><p><b> go</b></p><p> /*==============================================================*/</p><p> /* Table:
67、Admin */</p><p> /*==============================================================*/</p><p> create table NetTest.Admin (</p><p> N
68、ame char(12) not null,</p><p> PWD char(16) not null,</p><p> constraint PK_ADMIN primary key (Name)</p><p><b> )&
69、lt;/b></p><p><b> go</b></p><p> /*==============================================================*/</p><p> /* Index: Index_Name
70、 */</p><p> /*==============================================================*/</p><p> create index Index_Name on NetTest.Admin (</p><p><b> Name</b></p&
71、gt;<p><b> )</b></p><p><b> go</b></p><p> /*==============================================================*/</p><p> /* Table: Papers
72、 */</p><p> /*==============================================================*/</p><p> create table NetTest.Papers (</p><p> ID
73、 bigint identity,</p><p> TeacherID char(10) not null,</p><p> StudentID char(10) not null,</p><p> PaperID
74、 int not null,</p><p> Subject varchar(50) not null,</p><p> Score smallint null</p><p> constraint CKC_SCOR
75、E_PAPERS check (Score is null or (Score >= 0 )),</p><p> constraint PK_PAPERS primary key (ID)</p><p><b> )</b></p><p><b> go</b></p><p>
76、 /*==============================================================*/</p><p> /* Index: Index_StudentID */</p><p> /*======================================
77、========================*/</p><p> create index Index_StudentID on NetTest.Papers (</p><p><b> StudentID</b></p><p><b> )</b></p><p><b&
78、gt; go</b></p><p> /*==============================================================*/</p><p> /* Table: Questions */</p><p> /*
79、==============================================================*/</p><p> create table NetTest.Questions (</p><p> QuestionID bigint identity,</p><p> Subj
80、ect varchar(50) not null,</p><p> Question varchar(200) not null,</p><p> Select1 varchar(100) not null,</p><p> Se
81、lect2 varchar(100) not null,</p><p> Select3 varchar(100) not null,</p><p> Select4 varchar(100) not null,</p><p>
82、Answer char(1) not null,</p><p> constraint PK_QUESTIONS primary key (QuestionID)</p><p><b> )</b></p><p><b> go</b></p>
83、<p> /*==============================================================*/</p><p> /* Index: Index_SubjectID */</p><p> /*===========================
84、===================================*/</p><p> create index Index_SubjectID on NetTest.Questions (</p><p><b> Subject</b></p><p><b> )</b></p><
85、;p><b> go</b></p><p> /*==============================================================*/</p><p> /* Table: Students */</p>&
86、lt;p> /*==============================================================*/</p><p> create table NetTest.Students (</p><p> StudentID char(10) not null,</p><
87、p> Name char(12) not null,</p><p> Age smallint not null</p><p> constraint CKC_AGE_STUDENTS check (Age between 0 and 100),</p&g
88、t;<p> Sex char(2) not null,</p><p> EnterTime datetime not null,</p><p> PWD char(16) not null,</p
89、><p> Email varchar(35) null,</p><p> constraint PK_STUDENTS primary key (StudentID)</p><p><b> )</b></p><p><b> go</b>
90、;</p><p> /*==============================================================*/</p><p> /* Table: Teachers */</p><p> /*================
91、==============================================*/</p><p> create table NetTest.Teachers (</p><p> TeacherID char(10) not null,</p><p> Name
92、char(12) not null,</p><p> PWD char(16) not null,</p><p> Subject varchar(50) not null,</p><p> Email
93、 varchar(35) null,</p><p> constraint PK_TEACHERS primary key (TeacherID)</p><p><b> )</b></p><p><b> go</b></p><p> /*==========
94、====================================================*/</p><p> /* Index: Index_Name */</p><p> /*====================================================
95、==========*/</p><p> create index Index_Name on NetTest.Teachers (</p><p><b> Name</b></p><p><b> )</b></p><p><b> go</b></
96、p><p> alter table NetTest.Papers</p><p> add constraint FK_PAPERS_CREATE_TEACHERS foreign key (TeacherID)</p><p> references NetTest.Teachers (TeacherID)</p><p><b&
97、gt; go</b></p><p> alter table NetTest.Papers</p><p> add constraint FK_PAPERS_TESTING_STUDENTS foreign key (StudentID)</p><p> references NetTest.Students (StudentID)<
98、/p><p><b> go</b></p><p><b> 系統(tǒng)實現(xiàn)</b></p><p><b> 開發(fā)平臺的選擇</b></p><p> 本系統(tǒng)由于是采用的微軟公司所推出的分布式Web應(yīng)用構(gòu)架,所以開發(fā)平臺使用了Windows2000,數(shù)據(jù)庫選用SQL Serv
99、er2000,Web服務(wù)器程序使用IIS5.0。由于使用了XML,所以客戶端必須是IE5.0以上版本的瀏覽器才能正常使用本系統(tǒng)。</p><p><b> 編程工具的選擇</b></p><p> 目前比較流行的開發(fā)工具VC++、VB和Delphi等都可以實現(xiàn)本程序的中間件COM+程序的開發(fā)。使用VC++可以得到最好的速度,最大的靈活性,最強大的功能,但使用VC+
100、+開發(fā)系統(tǒng)所要花費的時間和開發(fā)成本足以抵消掉他所帶來的好處;使用VB來開發(fā)花費的時間是少了,可是VB是解釋性的語言,這樣的系統(tǒng)運行速度會比VC++開發(fā)的相同的系統(tǒng)差不少;Delphi是Borland公司出品的Windows下的快速開發(fā)工具,具有VB的開發(fā)效率和VC++程序的運行速度,所以用來開發(fā)本系統(tǒng)是最合適的選擇。</p><p> XML和網(wǎng)頁編輯工具的選擇</p><p> XM
101、L的開發(fā)工具我試過好幾個,可都不理想,不是使用不方便就是對中文的支持不好。最后只能用Windows下的記事本(notepad.exe)手工書寫。這樣一來效率很底,也許正因為這個原因XML才沒有HTML應(yīng)用多。希望不久以后也能出現(xiàn)比較好用的XML可視化編輯工具。</p><p> 網(wǎng)頁的編輯工具比較好選,Dreamweaver功能最強大使用方便,并且他還提供30天試用版,是不二之選。</p><
102、;p><b> 系統(tǒng)編碼</b></p><p><b> 源程序文件清單</b></p><p><b> 網(wǎng)站文件清單:</b></p><p> .\nettest 的目錄</p><p> [.] [..]
103、 [admin] admin.asp</p><p> [images] index.htm login.asp NetTest.asp</p><p> [student] student.asp style.css SubmitPaper.asp</p>
104、;<p> [teacher] teacher.asp test.asp update.asp </p><p> .\nettest\admin 的目錄</p><p> [.] [..] admin.htm createstudent.
105、htm</p><p> createteacher.htm update.htm </p><p> 4 個文件 14,685 字節(jié)</p><p> .\nettest\images 的目錄</p><p> [.] [..] bg1.gif
106、 main.gif</p><p> studies_02.gif </p><p> .\nettest\student 的目錄</p><p> [.] [..] QueryScore.xsl SelectTest.xsl</p><p> Student.
107、xsl style.css Testing.xsl UpDate.htm</p><p> .\nettest\teacher 的目錄</p><p> [.] [..] createpaper.htm</p><p> createquestions.ht
108、m teacher.xsl UpDate.htm</p><p> COM+組件源程序文件清單</p><p><b> 程序核心代碼</b></p><p> 因為本系統(tǒng)源代碼比較多,在這里就僅僅列出比較重要的核心代碼</p><p> 學(xué)生進行考試頁面的XLST文件:Testing.x
109、sl</p><p> <?xml version="1.0" encoding="GB2312"?></p><p> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"></p><p> <xsl:temp
110、late match="/"></p><p><b> <html></b></p><p><b> <head></b></p><p> <title>進行考試!</title></p><p> <li
111、nk rel="stylesheet" href="./student/style.css" type="text/css"/></p><p><b> </head></b></p><p> <body bgcolor="#FFFFFF" text=&qu
112、ot;#000000" background="./images/bg1.gif"></p><p> <div align="center"></p><p> <p></p><table width="700" border="0" cellsp
113、acing="1" cellpadding="0" bgcolor="#666666"></p><p><b> <tr></b></p><p> <td bgcolor="#FFFFFF" height="110"> </p
114、><p> <p align="center"></p></p><p> <p align="center"><font color="#000000">...::: <b>解放軍后勤工程學(xué)院網(wǎng)絡(luò)考試系統(tǒng)</b> </font>:::....&l
115、t;br/></p><p><b> </p></b></p><p> <table width="90%" border="0" cellspacing="1" cellpadding="0" align="center" bgcolo
116、r="#CCCCCC"></p><p><b> <tr> </b></p><p> <td bgcolor="#FFFFFF"> </p><p> <table width="100%" border="0" cel
117、lspacing="0" cellpadding="0" align="center"></p><p><b> <tr> </b></p><p> <td width="170" background="./images/studies_02.g
118、if" height="20"> </p><p> <div align="center"><font color="#6699FF">進行考試</font></div></p><p><b> </td></b></p
119、><p> <td> <xsl:value-of select="//Subject"/>考試:</td></p><p><b> </tr></b></p><p><b> </table></b></p><
120、p><b> <p></p></b></p><p> <form name="form1" method="post" action="SubmitPaper.asp"></p><p> <table width="90%" bor
121、der="0" align="center" cellpadding="1" cellspacing="1" class="font12"></p><p> <xsl:for-each select="//Questions"></p><p>
122、<tr bgcolor="#DFDFFF"></p><p> <td colspan="2"><xsl:value-of select="No"/>、<xsl:value-of select="Question"/></td></p><p>&l
123、t;b> </tr></b></p><p> <tr bgcolor="#FFFFCA"> </p><p> <td width="50%"></p><p> <xsl:element name="input"></p&g
124、t;<p> <xsl:attribute name="type"></p><p> <xsl:value-of select="//type"/></p><p> </xsl:attribute></p><p> <xsl:attribute name=&
125、quot;name"></p><p> <xsl:value-of select="No"/></p><p> </xsl:attribute></p><p> <xsl:attribute name="value"></p><p>&l
126、t;b> A</b></p><p> </xsl:attribute></p><p> </xsl:element></p><p> A<xsl:value-of select="Select1"/></td></p><p> <td
127、 width="50%"></p><p> <xsl:element name="input"></p><p> <xsl:attribute name="type"></p><p> <xsl:value-of select="//type&quo
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于delphi的教務(wù)管理系統(tǒng)畢業(yè)論文
- 基于delphi的教務(wù)管理系統(tǒng)畢業(yè)論文
- 基于delphi的圖書管理系統(tǒng)畢業(yè)論文
- 基于delphi的圖書管理系統(tǒng)畢業(yè)論文)
- 基于delphi的圖書管理系統(tǒng)畢業(yè)論文1
- delphi考試系統(tǒng)畢業(yè)設(shè)計
- delphi汽車零件銷售管理系統(tǒng)畢業(yè)論文
- 網(wǎng)上考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 網(wǎng)上考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 網(wǎng)絡(luò)考試系統(tǒng)——畢業(yè)論文
- 網(wǎng)絡(luò)考試系統(tǒng)——畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 網(wǎng)上考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
評論
0/150
提交評論