版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計(論文)</b></p><p> 基于VC開發(fā)與設(shè)計考試系統(tǒng)</p><p><b> 摘 要</b></p><p> 隨著社會的發(fā)展,考試要求、類型和規(guī)模的不斷變化,普通的手工閱卷已無法滿足考試形式和內(nèi)容日益復(fù)雜多樣的需求。如何更好的實現(xiàn)公平公正,充分發(fā)揮考試的作用,使之真
2、正成為選拔錄用人才的工具,這個問題已經(jīng)成為社會關(guān)注的焦點。隨著國家對創(chuàng)新型、高素質(zhì)人才需求的增加,對考生實踐能力和創(chuàng)新意識進(jìn)行考察的發(fā)散思維和主觀性試題在教育考試中所占比重越來越多,這就給評閱工作的公平、公正性提出了新的挑戰(zhàn),傳統(tǒng)手工閱卷諸多弊端逐漸顯現(xiàn),如何更好的控制閱卷誤差成為急待解決的問題。隨著計算機網(wǎng)絡(luò)技術(shù)、信息處理技術(shù)以及計算機的普及,計算機考試系統(tǒng)應(yīng)運而生。計算機考試系統(tǒng)的出現(xiàn)可以說是我國考試領(lǐng)域的重大變革,近年來高考、中考
3、、全國英語等級考試、公務(wù)員考試等大型考試中考試系統(tǒng)備受關(guān)注。</p><p> 本論文針對班級考試開發(fā)設(shè)計了一個學(xué)校信息管理系統(tǒng)的一個子系統(tǒng)——班級考試系統(tǒng)。經(jīng)過對多種主流數(shù)據(jù)庫管理系統(tǒng)進(jìn)行比較分析之后,選擇Office Access作為數(shù)據(jù)庫管理系統(tǒng),使用VC++6.0作為開發(fā)平臺,MFC類庫輔助。通過計算機對信息的管理簡化了教師對試卷的管理過程,優(yōu)化了試卷的管理。首先對考試系統(tǒng)進(jìn)行簡單地緒論和定義,隨后對考
4、試系統(tǒng)的可行性進(jìn)行了多方面的研究,并從需求分析下手,對考試系統(tǒng)粗略的分析,構(gòu)建起考試系統(tǒng)的基本結(jié)構(gòu),并對系統(tǒng)架構(gòu)和功能架構(gòu)進(jìn)行設(shè)計。在總體設(shè)計中劃分功能模塊,并對系統(tǒng)的功能模塊進(jìn)行描述,對各個模塊的設(shè)計與實現(xiàn)進(jìn)行闡述,列舉了一些關(guān)鍵代碼幫助理解,并對系統(tǒng)界面進(jìn)行了人性化的設(shè)計。最后對本次開發(fā)和研究進(jìn)行了總結(jié)和展望。</p><p> 關(guān)鍵詞:VC++;Access;MFC;考試系統(tǒng)</p><
5、;p><b> 目 錄</b></p><p> 第一章 緒 論1</p><p> 1.1 考試系統(tǒng)的定義1</p><p> 1.2 考試系統(tǒng)的特點1</p><p> 第二章 需求分析3</p><p> 2.1 功能需求3</p><p&
6、gt; 2.2 可行性分析3</p><p> 2.3 開發(fā)及運行環(huán)境4</p><p> 2.3.1 硬件環(huán)境4</p><p> 2.3.2 軟件環(huán)境4</p><p> 2.3.3 開發(fā)工具及其技術(shù)的選擇5</p><p> 2.4 開發(fā)系統(tǒng)的應(yīng)用技術(shù)6</p><p&
7、gt; 2.4.1 Access數(shù)據(jù)庫的介紹及其優(yōu)缺點6</p><p> 2.4.2 MFC的介紹及其優(yōu)缺點7</p><p> 第三章 系統(tǒng)總體設(shè)計9</p><p> 3.1 功能模塊設(shè)計9</p><p> 3.1.1 學(xué)生考試子模塊圖9</p><p> 3.1.2 教師管理子模塊圖1
8、0</p><p> 3.2 系統(tǒng)流程圖10</p><p> 3.3 用例圖11</p><p> 3.3.1 系統(tǒng)總用例圖11</p><p> 3.3.2 學(xué)生考試子模塊用例圖11</p><p> 3.3.3 教師管理子模塊用例圖12</p><p> 第四章 數(shù)據(jù)
9、庫設(shè)計13</p><p> 4.1 E-R分析13</p><p> 4.2 數(shù)據(jù)庫的邏輯設(shè)計14</p><p> 4.3 數(shù)據(jù)庫的生成15</p><p> 第五章 系統(tǒng)實現(xiàn)17</p><p><b> 結(jié) 論24</b></p><p>&
10、lt;b> 致 謝25</b></p><p><b> 參考文獻(xiàn)26</b></p><p><b> 附 錄27</b></p><p><b> 第一章 緒 論</b></p><p> 隨著家長對孩子教育方面的不斷重視,教育行業(yè)在
11、人民心中的地位越來越重,老師們的負(fù)擔(dān)與壓力也越來越重。如何減輕老師的負(fù)擔(dān)及壓力,已經(jīng)成為廣大學(xué)校校長需要解決的頭號難題。在教育工作中,為學(xué)生考試出試卷和批改改卷是老師們最頭痛的,不僅消耗大量的時間,而且消耗大量的精力體力。因此,考試過程由人工操作轉(zhuǎn)向計算機操作是必然的結(jié)果。</p><p> 1.1 考試系統(tǒng)的定義</p><p> 考試系統(tǒng)是以財政部印發(fā)的《從業(yè)資格考試大綱》為依據(jù)、
12、以優(yōu)化的題庫資源為基礎(chǔ)、以現(xiàn)代信息技術(shù)為手段,通過隨機組合生成無紙化考試試卷進(jìn)行考試,并及時生成考試成績,集考試報名、試卷生成、上機考試、閱卷、成績生成等為一體的、多元化,新型的從業(yè)考試管理模式。計算機考試系統(tǒng)的出現(xiàn)可以說是我國考試領(lǐng)域的重大變革。</p><p> 1.2 考試系統(tǒng)的特點</p><p> 傳統(tǒng)考試從出題、組卷、印刷,到試卷的分發(fā),答題、收卷,再到判卷,公布成績,統(tǒng)計
13、分析考試結(jié)果整個過程都需要人工參與,周期長,工作量大,容易出錯,還要有適當(dāng)?shù)谋C芄ぷ鳎沟谜麄€學(xué)習(xí)考試成本較大。而考試系統(tǒng)相對于傳統(tǒng)考試擁有了很多優(yōu)勢:</p><p> 1.減少工作人員人工輸入分?jǐn)?shù)的環(huán)節(jié),減少過程中出現(xiàn)錯誤的可能性,提高準(zhǔn)確性。</p><p> 2.減少紙質(zhì)試卷封裝加工環(huán)節(jié),節(jié)省費用開支,減少出錯機率。</p><p> 3.?dāng)?shù)據(jù)全部電子
14、化,可以做到永久保存,管理也更加方便高效。</p><p> 4.具有評閱質(zhì)量監(jiān)控功能。由于所有考試信息保留在服務(wù)器,所以可以實時掌握閱卷質(zhì)量,如果出現(xiàn)偏差可以及時糾正。</p><p> 5.真正實現(xiàn)無干擾閱卷,盡量減小人為誤差,真正實現(xiàn)公平公正,這是傳統(tǒng)手工閱卷所無法比擬的。</p><p> 6.傳統(tǒng)手工閱卷中需要專人核對,而且需要搬用試卷,考試系統(tǒng)自動
15、分配,大大節(jié)省人力。</p><p> 7.?dāng)?shù)據(jù)信息方便深度挖掘,可以作為教學(xué)和決策依據(jù)。</p><p><b> 第二章 需求分析</b></p><p><b> 2.1 功能需求</b></p><p> 查閱大量相關(guān)的文獻(xiàn)資料,對題目進(jìn)行了深入地研究。通過對班級考試和師生相關(guān)人物角
16、色關(guān)系的調(diào)研,并對考試相關(guān)情況進(jìn)行了解,得出系統(tǒng)需具有以下功能:</p><p> 1.由于考試的需要和保密性,也為了便于管理,系統(tǒng)用戶具有不同的等級,即不同的權(quán)限。用戶按等級分為兩個等級:學(xué)生、教師。不同權(quán)限的用戶登錄后進(jìn)入系統(tǒng)的頁面也不同(系統(tǒng)的功能菜單不同)。其中學(xué)生只有對考試現(xiàn)場進(jìn)行操作,不能對試題管理做任何操作。</p><p> 2.從現(xiàn)有的考試模式來看,系統(tǒng)開發(fā)要具有兩大
17、主要功能模塊:學(xué)生考試模塊和教師后臺管理模塊。</p><p> 3. 學(xué)生考試模塊主要是對學(xué)生考試的處理,在這個功能模塊里主要是學(xué)生的考試功能,進(jìn)入時選擇考試科目,進(jìn)入后開始考試,考試時間設(shè)為1個小時。為了公平,每人每科只能考一次。</p><p> 4.教師后臺管理模塊根據(jù)不同需求對所需要的數(shù)據(jù)進(jìn)行分類管理統(tǒng)計分析,對于教師來說,所需要做的就是對考生所考的科目、試題和考試所的分?jǐn)?shù)進(jìn)
18、行分類管理。根據(jù)要求設(shè)置不同的考試科目和考試題目,以便對學(xué)生的學(xué)習(xí)成績進(jìn)行考核,這些考生的考試數(shù)據(jù)對教師來說,能更好的了解學(xué)生學(xué)習(xí)的情況。對以后的教學(xué)有更好的幫助。增加、修改、刪除和查詢等數(shù)據(jù)操作是維護(hù)系統(tǒng)所必須的。</p><p><b> 2.2 可行性分析</b></p><p> 本系統(tǒng)的開發(fā)宗旨,以及總體任務(wù)就是要實現(xiàn)考試的自動化﹑規(guī)范化、系統(tǒng)化、科學(xué)化
19、和人性化。通過對論文的調(diào)查與分析,復(fù)查了系統(tǒng)的規(guī)模和目標(biāo),所以為了能夠?qū)崿F(xiàn)編制這個軟件所設(shè)定的目標(biāo),在程序的開發(fā)前的可行性析是有必要的。本章對開發(fā)該系統(tǒng)的可行性從以下幾個方面進(jìn)行了分析。</p><p> 1.社會可行性:隨著國內(nèi)外軟件開發(fā)的日益發(fā)展壯大,各種中小企事業(yè)單位已具備獨立開發(fā)各種類型的軟件的能力,能夠滿足不同行業(yè)的特別的需求。目前很多的學(xué)校在考試的管理運行中都采用科學(xué)的信息系統(tǒng)管理方法加以統(tǒng)一管理,
20、運用科學(xué)的管理方法可以使考試的投入的相對減少而獲得更加可觀的考試效果。這是沒個學(xué)校都愿意的,因此,考試系統(tǒng)的開發(fā)是可行的。</p><p> 2.技術(shù)可行性:這個系統(tǒng)盡管其在組織關(guān)系上存在著很大的復(fù)雜性,繁瑣性,但是就整個系統(tǒng)的技術(shù)構(gòu)成上來看,它還是屬于一個數(shù)據(jù)庫應(yīng)用類的系統(tǒng)。其基本操作還是對存在數(shù)據(jù)庫進(jìn)行添加、刪除、查找、編輯等。所以就單純的數(shù)據(jù)庫應(yīng)用來看,不存在太大的技術(shù)問題。該系統(tǒng)初步的設(shè)想是運用C語言開
21、發(fā)的,采用B/S模式,在開發(fā)中不會存在技術(shù)的問題,所以在技術(shù)上是可行的,能夠?qū)崿F(xiàn)這個系統(tǒng)。</p><p> 3.經(jīng)濟可行性:開發(fā)本系統(tǒng)的成本是很低的,能夠滿足經(jīng)濟要求。</p><p> 根據(jù)可行性研究的結(jié)果,認(rèn)為可以開發(fā)這個系統(tǒng)。 </p><p> 2.3 開發(fā)及運行環(huán)境</p><p> 2.3.1 硬件環(huán)境</p>
22、;<p> 可以根據(jù)班級的大小選擇合適的硬件的配置,如表2-1所示</p><p> 表2-1考試系統(tǒng)的硬件選擇</p><p> 以上這些硬件的配置不是絕對的,這些數(shù)據(jù)只是參考數(shù)據(jù),具體的配置還要根據(jù)用戶的需求來選擇,本人由于設(shè)備有限選用Pentium CPU/1G 內(nèi)存/1G 磁盤/300GB個人PC。</p><p> 2.3.2 軟件環(huán)
23、境</p><p> 軟件配置主要包括操作系統(tǒng)、數(shù)據(jù)庫和開發(fā)工具及其技術(shù)的選擇。</p><p><b> 1.操作系統(tǒng)的選擇</b></p><p> 服務(wù)器操作系統(tǒng)的選擇,根據(jù)用戶量的大小選擇不同的操作系統(tǒng),一般是選擇用戶比較熟悉的如Windows 2000﹑Windows XP Professional或者 Windows 2000
24、 Server操作系統(tǒng)。而UNIX﹑Linux﹑Windows NT操作復(fù)雜,界面對用戶來說很陌生。經(jīng)比較選擇 Windows XP Professional操作系統(tǒng)。用戶操作系統(tǒng)的選擇,因為本系統(tǒng)對客戶機的要求非常的簡單,所有操作系統(tǒng)最好選擇我們大家都非常的熟悉的Windows操作系統(tǒng)如:Windows 98、 Windows 2000、Windows XP、Windows 2000 Server等都可以,本人選擇 Windows X
25、P操作系統(tǒng)。</p><p><b> 2.?dāng)?shù)據(jù)庫的選擇</b></p><p> 可以根據(jù)數(shù)據(jù)的大小選擇不同的數(shù)據(jù)庫,如表2-2所示</p><p><b> 表2-2數(shù)據(jù)庫選擇</b></p><p> 上面列舉出來的數(shù)據(jù)庫配置也并不是絕對的。對于超大型班級的數(shù)據(jù)信息量是非常大的,要求數(shù)
26、據(jù)庫的吞吐量和穩(wěn)定性較高,同時對維護(hù)性要求也很高,能夠在定時的較短時間內(nèi)恢復(fù)系統(tǒng)和數(shù)據(jù),這需要選擇更好的數(shù)據(jù)庫。但是對于一般的中小型班級,由于學(xué)生較少,數(shù)據(jù)信息量相對也比較小,為了節(jié)約成本和資金,可以選擇免費的數(shù)據(jù)庫或者是較為便宜的數(shù)據(jù)庫,這要根據(jù)用戶的需求來確定。數(shù)據(jù)庫的選擇還要考慮與操作系統(tǒng)的配合,本人為了免去數(shù)據(jù)庫的開支,選擇的是Access數(shù)據(jù)庫。</p><p> 2.3.3 開發(fā)工具及其技術(shù)的選擇&
27、lt;/p><p> 系統(tǒng)開發(fā)使用VC++開發(fā)平臺,MFC類庫輔助,采用Access數(shù)據(jù)庫,在Windows平臺上運行,它有一個很友好和人性化的圖形用戶界面,有很好的可擴展性,使用非常的方便簡單,其優(yōu)勢很明顯。</p><p> 2.4 開發(fā)系統(tǒng)的應(yīng)用技術(shù)</p><p> 2.4.1 Access數(shù)據(jù)庫的介紹及其優(yōu)缺點</p><p>&
28、lt;b> 1.基本介紹</b></p><p> Microsoft Office Access(前名 Microsoft Access)是由微軟發(fā)布的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng)。它結(jié)合了 Microsoft Jet Database Engine 和 圖形用戶界面兩項特點,是 Microsoft Office的成員之一。</p><p> Access能夠存取 Acc
29、ess/Jet、Microsoft SQL Server、Oracle(甲骨文軟件公司),或者任何 ODBC 兼容數(shù)據(jù)庫內(nèi)的資料。熟練的軟件設(shè)計師和資料分析師利用它來開發(fā)應(yīng)用軟件,而一些不熟練的程序員和非程序員的"進(jìn)階用戶"則能使用它來開發(fā)簡單的應(yīng)用軟件。雖然它支援部份面向?qū)ο螅∣O)技術(shù),但是未能成為一種完整的面向?qū)ο箝_發(fā)工具。 這個軟件能夠有效地處理大量記錄但是測試顯示在某些情況下會導(dǎo)致數(shù)據(jù)損毀.比如說,大小
30、超過700MB的文件常會出問題。(值得注意的是在1.0版廣泛應(yīng)用的時候大多數(shù)硬盤是小于700MB的。)軟件的使用指南指出過時的設(shè)備驅(qū)動和錯誤的配置可能回導(dǎo)致數(shù)據(jù)丟失。</p><p> 與一般的CS關(guān)系型數(shù)據(jù)庫管理不同,Access不執(zhí)行數(shù)據(jù)庫觸發(fā),預(yù)存程序或交互式登錄操作。Access 2010包括了嵌入ACE數(shù)據(jù)引擎的表級觸發(fā)和預(yù)存程序,因此,客戶-服務(wù)器數(shù)據(jù)庫系統(tǒng)對于Access 2010就不是必需的了。
31、在Access 2010中,表格,查詢,圖表,報表和宏現(xiàn)在基于網(wǎng)絡(luò)的應(yīng)用上能夠進(jìn)行分別開發(fā)。</p><p> 2.Access數(shù)據(jù)庫的的優(yōu)點 (1)存儲方式單一 Access管理的對象有表、查詢、窗體、報表、頁、宏和模塊,以上對象都存放在后綴為(.mdb)的數(shù)據(jù)庫文件種,便于用戶的操作和管理。 (2)面向?qū)ο?Access是一個面向?qū)ο蟮拈_發(fā)工具,利用面向?qū)ο蟮姆绞綄?shù)據(jù)庫系統(tǒng)中的各種功能對
32、象化,將數(shù)據(jù)庫管理的各種功能封裝在各類對象中。它將一個應(yīng)用系統(tǒng)當(dāng)作是由一系列對象組成的,對每個對象它都定義一組方法和屬性,以定義該對象的行為和外國,用戶還可以按需要給對象擴展方法和屬性。通過對象的方法、屬性完成數(shù)據(jù)庫的操作和管理,極大地簡化了用戶的開發(fā)工作。同時,這種基于面向?qū)ο蟮拈_發(fā)方式,使得開發(fā)應(yīng)用程序更為簡便。 (3)界面友好、易操作 Access是一個可視化工具,是風(fēng)格與Windows完全一樣,用戶想要生成對象并應(yīng)用,只
33、要使用鼠標(biāo)進(jìn)行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報表設(shè)計器以及數(shù)據(jù)庫向?qū)?、表向?qū)?、查詢向?qū)?、窗體向?qū)?、報表向?qū)У裙ぞ?,使得操作簡便,容易使用和掌握?(4)集成環(huán)境、處理多種數(shù)據(jù)信息 Access基于Windows操作系統(tǒng)</p><p> 2.4.2 MFC的介紹及其優(yōu)缺點</p><p><b> 1.MFC的介紹</b>&
34、lt;/p><p> 微軟基礎(chǔ)類(Microsoft Foundation Classes),同VCL類似,是一種應(yīng)用程序框架,隨微軟Visual C++ 開發(fā)工具發(fā)布。目前最新版本為10.0(截止2011年3月),并且發(fā)布了中文版。該類庫提供一組通用的可重用的類庫供開發(fā)人員使用,大部分類均從C Object 直接或間接派生,只有少部分類例外。</p><p> MFC 應(yīng)用程序的總體結(jié)構(gòu)
35、通常由開發(fā)人員從MFC類派生的幾個類和一個CWinApp類對象(應(yīng)用程序?qū)ο螅┙M成。MFC 提供了MFC AppWizard 自動生成框架。</p><p> Windows 應(yīng)用程序中,MFC 的主包含文件為"Afxwin。h"。</p><p> 此外MFC的部分類為MFC/ATL 通用,可以在Win32 應(yīng)用程序中單獨包含并使用這些類。由于它的易用性,初學(xué)者常
36、誤認(rèn)為VC++開發(fā)必須使用MFC,這種想法是錯誤的。作為Application Framework,MFC的使用只能提高某些情況下的開發(fā)效率,只起到輔助作用,而不能替代整個Win32 程序設(shè)計。</p><p><b> 2.MFC的優(yōu)點</b></p><p> 隨著編程語言的推陳出新,MFC一些缺點日益突出。最重要的就是入門門檻相對其他語言要高,而且同樣完成一
37、個任務(wù)代碼量相對較多。而原有的優(yōu)勢如運行速度快等,也因為其他編程語言的日臻完善和個人電腦的運算速度增加而顯得不那么突出。MFC似乎江河日下。</p><p> 但是MFC真的沒有任何優(yōu)勢了嗎?不是,面對底層程序,它能很輕松的與Windows API或驅(qū)動程序結(jié)合,就是在自己的代碼中直接使用API函數(shù),而API和驅(qū)動程序的資料都是以C語言為基礎(chǔ)的,這使得VC程序員能夠更輕松的使用Windows API。這樣造成了
38、一個很有意思的現(xiàn)象,即入門時VC程序員要付出更多的努力來學(xué)習(xí),但是一旦掌握后,開發(fā)其他領(lǐng)域的程序或使用第三方軟件時,如工業(yè)控制類的程序,由于底層的程序都是用C語言編寫,反倒是VC程序員能夠更快的掌握該領(lǐng)域的編程技術(shù)。而很多其他的編程語言甚至找不到相關(guān)的資料。這就說明VC(MFC)實際上是一種入門困難,但是擴展學(xué)習(xí)卻很輕松的語言框架。如果局限于某一領(lǐng)域的話VC毫無優(yōu)勢可言,但是如果開發(fā)一個新的領(lǐng)域的應(yīng)用程序或者該程序涉及多個應(yīng)用領(lǐng)域的話,
39、可減少重復(fù)學(xué)習(xí)的頻率和難度,VC(MFC)的優(yōu)勢會立刻顯現(xiàn)出來。</p><p> 第三章 系統(tǒng)總體設(shè)計</p><p> 3.1 功能模塊設(shè)計</p><p> 功能模塊設(shè)計在整個系統(tǒng)設(shè)計當(dāng)中站有非常重要的地位,通過它可以對系統(tǒng)進(jìn)行詳細(xì)的設(shè)計。如圖3-1是系統(tǒng)模塊圖。</p><p> 圖3-1 系統(tǒng)模塊圖</p>&
40、lt;p> 3.1.1 學(xué)生考試子模塊圖</p><p> 圖3-2 學(xué)生考試模塊圖</p><p> 3.1.2 教師管理子模塊圖</p><p> 圖3-3 教師管理模塊圖</p><p><b> 3.2 系統(tǒng)流程圖</b></p><p> 系統(tǒng)流程圖又叫事務(wù)流程圖,是在
41、計算機事務(wù)處理應(yīng)用進(jìn)行系統(tǒng)分析時常用的一種描述方法(另一個是數(shù)據(jù)流圖),它描述了計算機事務(wù)處理中從數(shù)據(jù)輸入開始到獲得輸出為止,各個處理工序的邏輯過程。</p><p> 圖3-4 系統(tǒng)流程圖</p><p><b> 3.3 用例圖</b></p><p> 用例圖是簡單的形象的描述用戶對整個系統(tǒng)的操作,當(dāng)然不同權(quán)限的用戶擁有的用例關(guān)系也
42、不同。</p><p> 3.3.1 系統(tǒng)總用例圖</p><p> 系統(tǒng)用例圖如圖3-5所示,是用來形象的描述系統(tǒng)業(yè)務(wù)處理以及業(yè)務(wù)與業(yè)務(wù)之間的內(nèi)在關(guān)系。</p><p> 在整個系統(tǒng)的用例中,兩個不同權(quán)限的用戶,對應(yīng)他們的業(yè)務(wù)處理也是不同的,教師和學(xué)生擁有的權(quán)限是完全不同的,教師不對學(xué)生考試進(jìn)行任何干預(yù),學(xué)生不對試題、成績、數(shù)據(jù)庫做任何操作。</p&g
43、t;<p> 圖3-5 系統(tǒng)總用例圖</p><p> 3.3.2 學(xué)生考試子模塊用例圖</p><p> 學(xué)生考試用例圖如圖3-6所示,該用例圖有且僅有一個用戶,也就是只有學(xué)生這一用戶,該用戶僅對考試科目進(jìn)行選擇并對試題作答,此外不能做其他操作。</p><p> 圖3-6 學(xué)生管理模塊用例圖</p><p> 3.
44、3.3 教師管理子模塊用例圖</p><p> 教師管理管理用例圖如圖3-7所示,該用例圖描述了教師在后臺對學(xué)生信息的管理的具體情況和流程。 </p><p> 圖3-7 教師管理模塊用例圖</p><p><b> 第四章 數(shù)據(jù)庫設(shè)計</b></p><p><b> 4.1 E-R分析</b&
45、gt;</p><p> 在整個系統(tǒng)中,所存在的實體有試卷實體、學(xué)生實體和教師實體。</p><p> 對考試系統(tǒng)的E-R分析,從大的方面設(shè)計出各個實體之間的關(guān)系,再在這個關(guān)系的基礎(chǔ)上進(jìn)行細(xì)化。</p><p> 圖4-1 學(xué)生實體圖</p><p> 圖4-2 教師實體圖</p><p> 圖4-3 試卷實
46、體圖</p><p> 4.2 數(shù)據(jù)庫的邏輯設(shè)計</p><p> 通過E-R圖的分析,本系統(tǒng)所要求的數(shù)據(jù)庫的框架已經(jīng)確定。下面實現(xiàn)數(shù)據(jù)庫的邏輯結(jié)構(gòu)即將數(shù)據(jù)庫的概念結(jié)構(gòu)轉(zhuǎn)化為access數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型。數(shù)據(jù)庫由下面5個表組成,每個表格表示在數(shù)據(jù)庫中的一個表。</p><p> 各個表的詳細(xì)信息如下:</p><p>
47、注冊信息表 register</p><p> 表4-1 register</p><p> 考試情況表 result</p><p> 表4-2 result</p><p> 科目表 subject</p><p> 表4-3 subject</p><p><b>
48、試題表 test</b></p><p><b> 表4-4 text</b></p><p> 5.試題答案表 testanswer</p><p> 表4-5 testanswer</p><p> 4.3 數(shù)據(jù)庫的生成</p><p> 1.生成表register(注冊
49、信息)</p><p> 圖4-4 表register生成情況</p><p> 2.生成表result(考試情況)</p><p> 圖4-5 表result生成情況</p><p> 3.生成表subject(科目)</p><p> 圖4-6 表subject生成情況</p><
50、;p> 4.生成表test(試題)</p><p> 圖4-7 表test生成情況</p><p> 5.生成表testanswer(試題答案)</p><p> 圖4-8 表testanswer生成情況</p><p><b> 第五章 系統(tǒng)實現(xiàn)</b></p><p>
51、本系統(tǒng)采用VC++6.0軟件開發(fā),具有完整的應(yīng)用開發(fā)功能,同時支持多種關(guān)系數(shù)據(jù)庫管理系統(tǒng),采用面向?qū)ο蠹夹g(shù),圖形化的應(yīng)用開發(fā)環(huán)境,是數(shù)據(jù)庫的前端開發(fā)工具。以下是系統(tǒng)運行情況。</p><p><b> 用戶的登錄界面:</b></p><p> 打開(ExamOnline.exe)文件后出現(xiàn)用戶登錄界面,如下圖所示:</p><p> 圖
52、5-1 用戶登錄界面</p><p> 2.用戶的注冊界面:</p><p> 登錄失敗后會提醒注冊或找回密碼,如下圖所示:</p><p> 圖5-2 注冊提醒</p><p> 圖5-3 密碼錯誤提醒</p><p> 注冊提醒狀態(tài)下選擇”是(Y)”則會出現(xiàn)注冊界面,當(dāng)然在登陸界面選擇注冊也會出現(xiàn)注
53、冊界面。如下圖所示:</p><p> 圖5-4 注冊界面</p><p> 錯誤提醒狀態(tài)下選”是(Y)”則會出現(xiàn)找回密碼界面。如下圖所示:</p><p> 圖5-5 密碼找回界面</p><p> 3.學(xué)生選擇考試科目界面:</p><p> 學(xué)生登陸成功后就會進(jìn)入考試科目選擇,如下圖所示:</
54、p><p> 圖5-6 學(xué)生考試科目選擇界面</p><p><b> 4.學(xué)生考試界面:</b></p><p> 學(xué)生選擇考試科目后則會進(jìn)行該科目的考試,如下圖所示:</p><p> 圖5-7 學(xué)生考試界面</p><p> 5.教師對試卷的操作界面:</p><
55、;p> 教師權(quán)限使用測試用戶名tsoft 密碼123進(jìn)行登錄,登錄成功后則會直接進(jìn)入對試卷的操作界面,如下圖所示</p><p> 圖5-8 試卷管理界面</p><p> 6.教師對學(xué)生成績的操作界面:</p><p> 圖5-9 學(xué)生成績管理界面</p><p> 7.教師對數(shù)據(jù)庫的管理界面:</p>&
56、lt;p> 圖5-10 數(shù)據(jù)庫管理界面</p><p><b> 結(jié) 論</b></p><p> 在整個設(shè)計的過程中,我對VC6.0++和Access等內(nèi)容不僅從理論方面有了深入的學(xué)習(xí),而且將其實踐的過程融入到設(shè)計之中,這樣就使得理論知識與實際很好的結(jié)合在一起,讓我感受了軟件開發(fā)的整個過程。畢業(yè)設(shè)計不僅是對我在大學(xué)所學(xué)知識的一個綜合運用,也是一次增長
57、知識和經(jīng)驗的好機會,同時也使我學(xué)會了許多處理、解決問題的方法,大大提高了自己的動手能力,為以后走上工作崗位打下了良好的基礎(chǔ)。</p><p> 由于本人是在校大學(xué)生,沒有參加過具體的商業(yè)項目,開發(fā)經(jīng)驗不足,考慮事情的能力有限,在做論文的過程中撰寫代碼還存在一定的難度,所以開發(fā)出的系統(tǒng)軟件還不夠完善,功能實現(xiàn)的還不完全,保密性還不夠高,安全性還不夠好,雖然基本上實現(xiàn)了各個功能系統(tǒng)的實際應(yīng)用,但也有一定的限制。這都
58、是我們以后在系統(tǒng)設(shè)計需要應(yīng)該重點注意和解決的問題。</p><p><b> 致 謝</b></p><p> 在論文完成之際,首先衷心地感謝張珍老師。在這幾個月的畢業(yè)設(shè)計中,張珍老師,給我的畢業(yè)設(shè)計提出了許多關(guān)鍵性的建議和指導(dǎo),讓我在設(shè)計過程中,避免了一些錯誤,少走了一些彎路。更重要的是,在交流過程中,老師的一些創(chuàng)造性思維和方法,讓我受益無限。而且無論是在學(xué)術(shù)
59、上,還是在思想上,張珍老師都給予了我很大的幫助和鼓勵,使我順利的完成了畢業(yè)設(shè)計和畢業(yè)論文,在這再次向張珍老師您表示感謝。還要感謝三年來曾教過我的所有的老師們,是他們認(rèn)真的備課、嚴(yán)謹(jǐn)?shù)慕虒W(xué),讓我在大學(xué)三年的時間里學(xué)到了在以后的工作中強有力的理論知識,為以后的工作奠定了良好的基礎(chǔ)。</p><p> 在畢業(yè)設(shè)計和論文寫作過程中,一些同學(xué)和朋友也給了我巨大的幫助和鼓勵,在這也向他們表示感謝。</p>&
60、lt;p> 再次感謝評委老師們辛勤的評閱工作!</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 張榮梅,梁曉林.Visual C++實用教程[M].冶金工業(yè)出版社,2004:90.</p><p> [2] 鄭阿奇.Visual C++ 實用教程(第2版)[M].電子工業(yè)出版社,2003:56.</p&
61、gt;<p> [3] 孫鑫,余安萍.VC++深入詳解[M].電子工業(yè)出版社,2006:110.</p><p> [4] 陳清華等.Visual C++課程設(shè)計案例精選與編程指導(dǎo)[C].東南大學(xué)出版社,2004:152.</p><p> [5] 嚴(yán)華峰等.VISUAL C++課程設(shè)計案例精編(第二版)[A].中國水利水電出版社,2004:100.</p&
62、gt;<p> [6] 周鳴揚.VISUAL C++界面編程技術(shù)[M].北京希望電子,2003:30.</p><p> [7] 榮欽科技.Visual C++游戲編程基礎(chǔ)[M].電子工業(yè)出版社,2004:140.</p><p> [8] 羅偉堅.Visual C++經(jīng)典游戲程序設(shè)計[Z].人民郵電出版社,2006:15.</p><p>
63、 [9] 榮欽科技.VISUAL C++游戲設(shè)計[M].北京科海電子出版社,2005:64.</p><p> [10] 侯俊杰著.深入淺出MFC(第2版)[EB/OL].華中科技大學(xué)出版社:76.</p><p> [11] 劉宗田/邢大紅/孫慧杰 等譯.C++編程思想[J].Bruce Eckel著.機械工業(yè)出版社:198.</p><p> [12]
64、康博創(chuàng)作室譯.21天學(xué)通C++[M].Jesse Liberty著.人民郵電出版社:68.</p><p><b> 附 錄</b></p><p> 以下是系統(tǒng)是實現(xiàn)各界面的關(guān)鍵代碼:</p><p> 1.實現(xiàn)用戶登錄界面的關(guān)鍵代碼:</p><p> void CLOGIN::OnButtonOk() &
65、lt;/p><p><b> {</b></p><p> UpdateData();</p><p> CString str;</p><p> m_TypeList.GetLBText(m_TypeList.GetCurSel(),str);</p><p> if(m_UserNam
66、e.IsEmpty())</p><p><b> {</b></p><p> AfxMessageBox("用戶名不能為空");</p><p><b> return;</b></p><p><b> }</b></p><
67、;p> if(m_UserPasswd.IsEmpty())</p><p><b> {</b></p><p> AfxMessageBox("密碼不能為空");</p><p><b> return;</b></p><p><b> }<
68、/b></p><p> CString sql="select*from register where username='"+m_UserName+"' and [password]='"+m_UserPasswd+"' and power='"+str+"'";</p
69、><p><b> try</b></p><p><b> {</b></p><p> _RecordsetPtr m_pRs;</p><p> ADOConn m_AdoConn;</p><p> m_AdoConn.OnInitADOConn();</
70、p><p> m_pRs=m_AdoConn.GetRecordSet((_bstr_t)sql);</p><p> if(m_pRs->adoEOF)</p><p><b> {</b></p><p> sql="select*from register where username='
71、;"+m_UserName+"'";</p><p> m_pRs=m_AdoConn.GetRecordSet((_bstr_t)sql);</p><p> if(!m_pRs->adoEOF)</p><p><b> {</b></p><p> if(m_Us
72、erPasswd!=(char*)(_bstr_t)m_pRs->GetCollect("password"))</p><p><b> {</b></p><p> if(MessageBox("密碼錯誤是否找回密碼?","提示",MB_YESNO)==IDYES)</p><
73、;p><b> {</b></p><p> CFind dlg;</p><p> dlg.Name=m_UserName;</p><p> CDialog::OnCancel();</p><p> dlg.DoModal();</p><p><b>
74、; }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> if(str!=(char*)(_bstr_t)m_pRs->GetCollect(&
75、quot;power"))</p><p><b> {</b></p><p> AfxMessageBox("權(quán)限錯誤");</p><p><b> return;</b></p><p><b> }</b></p>
76、<p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> if(MessageBox("用戶名不存在是否注冊&quo
77、t;,"提示",MB_YESNO)==IDYES)</p><p><b> {</b></p><p> CDialog::OnCancel();</p><p> CRegister dlg;</p><p> dlg.m_UserName=m_UserName;</p&g
78、t;<p> dlg.DoModal();</p><p><b> }</b></p><p><b> else</b></p><p> CDialog::OnCancel();</p><p><b> }</b></p><
79、p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> if(str=="教職工")</p><p><b> {</b></p>&l
80、t;p> CDialog::OnCancel();</p><p> CBack dlg;</p><p> dlg.DoModal();</p><p><b> }</b></p><p><b> else</b></p><p> CDialog::
81、OnOK();</p><p><b> }</b></p><p> m_AdoConn.ExitConn();</p><p><b> }</b></p><p> catch(...)</p><p><b> {</b></p&
82、gt;<p> AfxMessageBox("操作失敗");</p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p> 2.實現(xiàn)用戶的注冊界面的關(guān)鍵
83、代碼:</p><p> void CRegister::OnReg() </p><p><b> {</b></p><p> UpdateData();</p><p> if(m_UserName.IsEmpty())</p><p><b> {</b>&
84、lt;/p><p> AfxMessageBox("請輸入用戶名");</p><p><b> return;</b></p><p><b> }</b></p><p> if(m_Passwd.IsEmpty())</p><p><b&
85、gt; {</b></p><p> AfxMessageBox("請輸入密碼");</p><p><b> return;</b></p><p><b> }</b></p><p> if(m_Passwd!=m_PasswdRepeat)</
86、p><p><b> {</b></p><p> AfxMessageBox("兩次輸入密碼不一致,請從新輸入");</p><p><b> return;</b></p><p><b> }</b></p><p> i
87、f(m_QuestionCombo.GetCurSel()==-1||m_QuestionCombo.GetCurSel()==0)</p><p><b> {</b></p><p> AfxMessageBox("請選擇密碼提示問題");</p><p><b> return;</b>&l
88、t;/p><p><b> }</b></p><p> if(m_Answer.IsEmpty())</p><p><b> {</b></p><p> AfxMessageBox("請輸入提示問題答案");</p><p><b>
89、 return;</b></p><p><b> }</b></p><p> if(m_RealName.IsEmpty())</p><p><b> {</b></p><p> AfxMessageBox("請輸入真實姓名");</p>
90、<p><b> return;</b></p><p><b> }</b></p><p> if(m_IDcard.GetLength() != 18)</p><p><b> {</b></p><p> AfxMessageBox("
91、輸入身份證無效");</p><p><b> return;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> i
92、nt num=0;</p><p><b> char ch;</b></p><p> for(int i=0;i<17;i++)</p><p><b> {</b></p><p> ch = m_IDcard.GetAt(i);</p><p> if
93、(ch>47 && ch<58)</p><p><b> num++;</b></p><p><b> }</b></p><p><b> if(i==17)</b></p><p><b> {</b></
94、p><p> ch = m_IDcard.GetAt(i);</p><p> if((ch>47 && ch<58) || (ch==88 || ch==120))</p><p><b> num++;</b></p><p><b> }</b></p&
95、gt;<p> if(num != 18)</p><p><b> {</b></p><p> AfxMessageBox("輸入身份證無效");</p><p><b> return;</b></p><p><b> }</b&g
96、t;</p><p><b> else</b></p><p><b> {</b></p><p> CString syear = m_IDcard.Mid(6,4);</p><p> int year = atoi(syear);</p><p> CSt
97、ring smonth = m_IDcard.Mid(10,2);</p><p> int month = atoi(smonth);</p><p> CString sday = m_IDcard.Mid(12,2);</p><p> int day = atoi(sday);</p><p> BOOL leap;</
98、p><p> if(month<1||month>12)</p><p><b> {</b></p><p> AfxMessageBox("輸入身份證無效");</p><p><b> return;</b></p><p>
99、<b> }</b></p><p> switch(month)</p><p><b> {</b></p><p> case 1:case 3: case 5: case 7: case 8: case 10: case 12:</p><p> if(day<0 || d
100、ay>31)</p><p><b> {</b></p><p> AfxMessageBox("輸入身份證無效");</p><p><b> return;</b></p><p><b> }</b></p><p&
101、gt;<b> break;</b></p><p> case 4:case 6: case 9: case 11:</p><p> if(day<0 || day>30)</p><p><b> {</b></p><p> AfxMessageBox("輸
102、入身份證無效");</p><p><b> return;</b></p><p><b> }</b></p><p><b> break;</b></p><p><b> case 2:</b></p><p
103、> if(year % 4 == 0)</p><p><b> {</b></p><p> if(year % 100 != 0)</p><p> leap = TRUE;</p><p> else if(year % 400 == 0)</p><p> leap =
104、TRUE;</p><p><b> else</b></p><p> leap = FALSE;</p><p><b> }</b></p><p><b> else</b></p><p> leap = FALSE;</p&g
105、t;<p><b> if(leap)</b></p><p> if(day<0 || day>29)</p><p><b> {</b></p><p> AfxMessageBox("輸入身份證無效");</p><p><b>
106、; return;</b></p><p><b> }</b></p><p><b> else</b></p><p> if(day<0 || day>28)</p><p><b> {</b></p><p>
107、; AfxMessageBox("輸入身份證無效");</p><p><b> return;</b></p><p><b> }</b></p><p><b> break;</b></p><p><b> }</b>
108、;</p><p><b> }</b></p><p><b> }</b></p><p> CString str;</p><p> m_QuestionCombo.GetLBText(m_QuestionCombo.GetCurSel(),str);</p><
109、p> CString sex;</p><p> if(radio==0)</p><p> sex.Format("");</p><p> if(radio==1)</p><p> sex.Format("男");</p><p> if(radio==2
110、)</p><p> sex.Format("女");</p><p> CTime time;</p><p> time=CTime::GetCurrentTime();</p><p> CString nowtime=time.Format("%Y-%m-%d");</p>
111、<p><b> int id;</b></p><p><b> try</b></p><p><b> {</b></p><p> m_AdoConn.OnInitADOConn();</p><p> CString sql="sele
112、ct*from register where username='"+m_UserName+"'";m_pRs=m_AdoConn.GetRecordSet((_bstr_t)sql);</p><p> if(!m_pRs->adoEOF)</p><p><b> {</b></p>&
113、lt;p> AfxMessageBox("用戶名已存在");</p><p><b> return;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</
114、b></p><p> sql.Format("select studentid from register");</p><p> m_pRs=m_AdoConn.GetRecordSet((_bstr_t)sql);</p><p> if(m_pRs->adoEOF)</p><p><b&g
115、t; id=1001;</b></p><p><b> else</b></p><p><b> {</b></p><p> m_pRs->MoveLast();</p><p> id=atoi((_bstr_t)m_pRs->GetCollect(&qu
116、ot;studentid"));</p><p><b> id+=1;</b></p><p><b> }</b></p><p> sql.Format("insert into register(username,[password],question,answer,name,age,
117、sex,phone,studentid,power,idcard,login_date)</p><p> values('%s','%s','%s','%s','%s',%d,'%s',%d,%d,'學(xué)生','%s','%s')",m_UserName,m_
118、Passwd,str,m_Answer,m_RealName,m_Age,sex,m_Phone,id,m_IDcard,nowtime);</p><p> m_AdoConn.ExecuteSQL((_bstr_t)sql);</p><p> m_AdoConn.ExitConn();</p><p> AfxMessageBox("注冊成功&
119、quot;);</p><p> CDialog::OnCancel();</p><p> CLOGIN dlg;</p><p> dlg.DoModal();</p><p><b> }</b></p><p><b> }</b></p>
120、<p> catch(...)</p><p><b> {</b></p><p> AfxMessageBox("操作失敗");</p><p><b> return;</b></p><p><b> }</b></p&
121、gt;<p><b> }</b></p><p> void CRegister::OnSexmale() </p><p><b> {</b></p><p><b> radio=1;</b></p><p><b> }</b
122、></p><p> void CRegister::OnSexfemale() </p><p><b> {</b></p><p><b> radio=2;</b></p><p><b> }</b></p><p> voi
123、d CRegister::OnCheckname() </p><p><b> {</b></p><p> UpdateData();</p><p> _bstr_t sql="select*from register where username='"+m_UserName+"'&qu
124、ot;;</p><p><b> try</b></p><p><b> {</b></p><p> m_AdoConn.OnInitADOConn();</p><p> m_pRs=m_AdoConn.GetRecordSet(sql);</p><p>
125、 if(m_pRs->adoEOF)</p><p> m_TiShiStatic.SetWindowText("用戶名可以使用");</p><p><b> else</b></p><p> m_TiShiStatic.SetWindowText("用戶名已存在");</p>
126、<p><b> }</b></p><p> catch(...)</p><p><b> {</b></p><p> AfxMessageBox("操作失敗");</p><p><b> return;</b></p&
127、gt;<p><b> }</b></p><p> m_AdoConn.ExitConn();</p><p><b> }</b></p><p> void CRegister::OnChangeUsername() </p><p><b> {</
128、b></p><p> m_TiShiStatic.SetWindowText("");</p><p><b> }</b></p><p> void CRegister::OnReset() </p><p><b> {</b></p>&l
129、t;p> m_UserName="";</p><p> m_Passwd="";</p><p> m_PasswdRepeat="";</p><p> m_QuestionCombo.SetCurSel(0);</p><p> m_Answer="&
130、quot;;</p><p> m_RealName="";</p><p> m_Phone=0;</p><p><b> m_Age=0;</b></p><p><b> radio=0;</b></p><p> UpdateData(
131、FALSE);</p><p><b> }</b></p><p> BOOL CRegister::OnInitDialog() </p><p><b> {</b></p><p> CDialog::OnInitDialog();</p><p> m_Q
132、uestionCombo.AddString("請選擇一個問題");</p><p> m_QuestionCombo.AddString("你的父親生日是哪天的?");</p><p> m_QuestionCombo.AddString("你的母親生日是哪天的?);</p><p> m_QuestionC
133、ombo.AddString("你的女朋友生日是哪天的?");</p><p> m_QuestionCombo.AddString("你家養(yǎng)的貓叫什么?);</p><p> m_QuestionCombo.AddString("你的車牌號后三位是什么?");</p><p> m_QuestionCombo
134、.SetCurSel(0);</p><p> return TRUE; </p><p><b> }</b></p><p> 3.實現(xiàn)學(xué)生登錄后選擇考試科目界面的關(guān)鍵代碼:</p><p> void CExamInfo::OnButtonOk() </p><p><b&g
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 考試系統(tǒng)畢業(yè)設(shè)計論文 基于vc開發(fā)與設(shè)計考試系統(tǒng)
- 畢業(yè)設(shè)計---在線考試系統(tǒng)設(shè)計與開發(fā)
- 基于vc的語音傳輸系統(tǒng)的設(shè)計與開發(fā)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計論文基于vc管理系統(tǒng)開發(fā)
- 軟件開發(fā)畢業(yè)設(shè)計論文--基于mvc在線考試系統(tǒng)的設(shè)計與開發(fā)
- 畢業(yè)設(shè)計---基于vc++的視頻采集系統(tǒng)的開發(fā)
- 畢業(yè)設(shè)計(論文)--基于vc++簡易心電圖分析系統(tǒng)的開發(fā)
- 畢業(yè)設(shè)計----在線考試系統(tǒng)設(shè)計與實現(xiàn)
- 在線考試系統(tǒng)設(shè)計與實現(xiàn)畢業(yè)設(shè)計
- 網(wǎng)絡(luò)考試系統(tǒng)畢業(yè)設(shè)計
- 在線考試系統(tǒng)畢業(yè)設(shè)計
- 在線考試系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計 ----網(wǎng)上考試系統(tǒng)
- 網(wǎng)上考試系統(tǒng)畢業(yè)設(shè)計
- delphi考試系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計-在線考試系統(tǒng)
- [畢業(yè)設(shè)計資料]在線考試模擬系統(tǒng)開發(fā)
- 在線考試系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----在線考試系統(tǒng)
- 網(wǎng)上考試系統(tǒng)畢業(yè)設(shè)計
評論
0/150
提交評論