版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)論文(設(shè)計(jì))</p><p> 題 目:Java資格認(rèn)證測評系統(tǒng)</p><p> 學(xué) 院:</p><p> 學(xué)生姓名:</p><p> 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 班 級:</p><p> 指導(dǎo)教師:</p>
2、;<p> 起止日期:</p><p> Java資格認(rèn)證測評系統(tǒng)</p><p><b> 摘 要</b></p><p> Java資格認(rèn)證測評系統(tǒng)是一個(gè)由服務(wù)器和客戶端組成的系統(tǒng),它可以通過網(wǎng)絡(luò)模擬考試的整個(gè)過程。將計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)應(yīng)用于現(xiàn)代高等教育中,是現(xiàn)代高等教育發(fā)展的需要,也是改革教育模式,提高學(xué)校教學(xué)效果和教
3、學(xué)效率,提高科研和管理水平的必要手段。目前的一個(gè)發(fā)展趨勢是采用大規(guī)模試題庫的計(jì)算機(jī)網(wǎng)絡(luò)考試模式。隨著計(jì)算機(jī)網(wǎng)絡(luò)在生產(chǎn)生活、科技教育中的普及,傳統(tǒng)式的考試出卷、答卷方式以及學(xué)績管理正發(fā)生著巨大的變革,因此,如何使考試過程變得方便、高效、快捷、公正,是現(xiàn)代教育的一個(gè)重要課題。</p><p> Java資格認(rèn)證測評系統(tǒng)作為一個(gè)網(wǎng)絡(luò)考試測評系統(tǒng),是傳統(tǒng)考場的延伸,它可以利用網(wǎng)絡(luò)的無限廣闊空間,隨時(shí)隨地對學(xué)生進(jìn)行考試,
4、加上數(shù)據(jù)庫技術(shù)的利用,大大簡化了傳統(tǒng)考試的過程。因此網(wǎng)絡(luò)考試測評系統(tǒng)是電子化教學(xué)不可缺少的一個(gè)重要環(huán)節(jié)??荚嚨臉?biāo)準(zhǔn)化、計(jì)算機(jī)網(wǎng)絡(luò)化已成為當(dāng)今考試的發(fā)展方向。無紙化的考試形式有著其科學(xué)、及時(shí)、準(zhǔn)確、公平等優(yōu)點(diǎn),具有傳統(tǒng)考試形式無法替代和比擬的優(yōu)勢。為了更貼近現(xiàn)實(shí)生活中的考試模式,本系統(tǒng)主要分為考前注冊,考試和考后查詢部分,考試采用了C/S模式,考前注冊和考后查詢采用了MVC模型。</p><p> 【關(guān)鍵詞】C/
5、S模式,MVC模型,數(shù)據(jù)庫</p><p> Java Certification Assessment System</p><p><b> Abstract</b></p><p> Java certification assessment system simply is a system composed of servers
6、 and clients, which can simulate the whole process of exam through the Internet. Computer and network technology used in modern higher education is not only the necessity of the development of modern high school educatio
7、n, but also the necessary means to reform the educational model , improve school teaching effectiveness, teaching efficiency , scientific research and management level. The current trend is the mode of exa</p><
8、;p> Java certification evaluation system as a network testing evaluation system is an extension of traditional examination room.With the use of database technology it can take advantage of the infinite vast space of
9、the network testing students no matter where they are, which greatly simplifies the process of the traditional examination. Network examination evaluation system is an important part of the indispensable electronic teach
10、ing. Trends suggest that the standardization of the examination and </p><p> 【Keywords】C / S mode, MVC model, database </p><p><b> 目 錄</b></p><p><b> 摘 要I
11、</b></p><p> AbstractII</p><p> 目 錄III</p><p><b> 1 緒論1</b></p><p> 1.1選題的背景及意義1</p><p> 1.2國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢2</p><p&g
12、t; 1.3本課題研究內(nèi)容2</p><p> 2系統(tǒng)設(shè)計(jì)使用技術(shù)介紹3</p><p> 2.1 JAVA介紹3</p><p> 2.2 C/S模式介紹4</p><p> 2.3 SmartStruts框架介紹5</p><p> 2.4 socket介紹5</p><
13、p> 2.5 Mysql數(shù)據(jù)庫介紹7</p><p><b> 3系統(tǒng)分析7</b></p><p> 3.1可行性研究7</p><p> 3.2 需求分析8</p><p><b> 4概要設(shè)計(jì)9</b></p><p> 4.1 功能模塊圖
14、9</p><p> 4.2處理流程設(shè)計(jì)9</p><p> 4.3系統(tǒng)E-R圖14</p><p> 4.4數(shù)據(jù)庫設(shè)計(jì)15</p><p><b> 5詳細(xì)設(shè)計(jì)18</b></p><p> 5.1考試登錄模塊18</p><p> 5.2考試操作界
15、面19</p><p> 5.3 考試主界面21</p><p> 5.4 考生注冊及考后查詢模塊22</p><p><b> 6核心算法25</b></p><p> 7系統(tǒng)調(diào)試與測試26</p><p> 7.1 程序調(diào)試26</p><p>
16、 7.2 程序的測試26</p><p><b> 8結(jié)論30</b></p><p> 8.1 系統(tǒng)評價(jià)30</p><p> 8.2 安全性問題及存在問題31</p><p> 8.3 個(gè)人心得體會(huì)31</p><p><b> 參考文獻(xiàn)32</b>
17、</p><p><b> 1 緒論</b></p><p> 1.1選題的背景及意義</p><p> 一、傳統(tǒng)考試形式與本考試系統(tǒng)的比較 </p><p> 1、傳統(tǒng)的考試形式“一紙定終身”,存在太過書面、輕視能力的明顯缺點(diǎn),成為了一些“高分低能”考生的搖籃;對另外一些考生而言,可能因?yàn)榭荚噳毫μ?,而?dǎo)致罹
18、患了“考試恐懼癥”,或者心存僥幸,投機(jī)取巧等等。</p><p> 2、而通過網(wǎng)絡(luò)和程序結(jié)合的網(wǎng)絡(luò)考試系統(tǒng)保密性非常高,可靠;考試時(shí)間相對靈活;大大地提高了學(xué)校的教學(xué)質(zhì)量水平;網(wǎng)絡(luò)考試測試系統(tǒng)不僅僅是考試的工具,而且是學(xué)習(xí)和分析的重要工具。 通過網(wǎng)絡(luò)考試的目的不是為了得到那點(diǎn)分?jǐn)?shù),而是要讓考生通過考試了解自己還有哪些不足之處,讓考生了解下一步還需要學(xué)習(xí)哪些知識(shí),考試系統(tǒng)需要具備統(tǒng)計(jì)數(shù)據(jù)并且匯總的功能,各種數(shù)據(jù)進(jìn)
19、過分析后最終會(huì)成為教育部門決策的分析依據(jù)。 </p><p> 二、網(wǎng)絡(luò)考試測評系統(tǒng)的特征 </p><p> (1) 實(shí)現(xiàn)了沒有軟盤、沒有紙張的考試:考試結(jié)果都直接提交和存儲(chǔ)到服務(wù)器上,不需上交到軟盤??季硪彩菑姆?wù)器上獲得,無需紙張。 </p><p> ?。?)安全性很好:系統(tǒng)會(huì)對網(wǎng)絡(luò)的通訊數(shù)據(jù)進(jìn)行加密,由系統(tǒng)隨機(jī)產(chǎn)生和組成試卷的題庫抽題方式,可以更加科學(xué)
20、和方便的組織和管理試卷以便檢測考生。隨機(jī)的試題順序可以高效地避免考生的作弊行為;同時(shí)利用考試監(jiān)控和考生的身份識(shí)別系統(tǒng),更加有效地保證了測試的公平性和安全性。</p><p> (3) 系統(tǒng)的有效性:系統(tǒng)拒絕其他考生用相同的身份證注冊并進(jìn)行考試,所以不存在代考的情況;如果考試時(shí)間已經(jīng)用完則不能繼續(xù)考試,從而確保了考試的嚴(yán)密性;考官可以在服務(wù)器端查詢和監(jiān)控各考生的考試信息。 </p><p>
21、; ?。?)較為通用并且支持?jǐn)U展:試題存儲(chǔ)在txt文檔中,系統(tǒng)通過讀取txt文檔并且解析和組織一張?jiān)嚲?,考官只需要修改txt文檔即可,方便又快捷。 </p><p> ?。?)自動(dòng)化:試卷的組織、閱覽和統(tǒng)計(jì)都實(shí)現(xiàn)了自動(dòng)化。 </p><p> ?。?)合理地界面設(shè)計(jì)和便捷的使用方式:合理的考試界面設(shè)計(jì)可以讓考生考試時(shí)更加方便。網(wǎng)絡(luò)考試的試卷提供了試題標(biāo)記、自動(dòng)記時(shí)、隨選隨作、題型分類等良好
22、的界面設(shè)置,使考試過程變得更為流暢。所有的一切都是為了考生考慮,力爭提供給考生良好和舒適的測試環(huán)境。 </p><p> (7) 統(tǒng)一的成績發(fā)放:閱卷結(jié)束提交后,所有參加考試的考生都可在規(guī)定時(shí)間后登錄網(wǎng)站按身份證查詢成績。</p><p> 本系統(tǒng)采用了傳統(tǒng)的C/S(客戶端/服務(wù)器)模式,由于其安全性和操作性在技術(shù)上都非常成熟,以上目標(biāo)容易實(shí)現(xiàn)。</p><p>
23、; 1.2國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢</p><p> 網(wǎng)絡(luò)考試測評系統(tǒng),很早就在國外出現(xiàn)了,剛開始是用來研究計(jì)算機(jī)輔助測驗(yàn)系統(tǒng)的,而且在題庫設(shè)計(jì)、統(tǒng)計(jì)檢測等的方面獲得了一定的理論成果,比如大家都了解的經(jīng)典檢測理論、題庫理論、項(xiàng)目反應(yīng)理論和自適應(yīng)檢測理論等。因?yàn)榛ヂ?lián)網(wǎng)的發(fā)展還不久,所以想要將網(wǎng)絡(luò)考試測評系統(tǒng)推廣到開來還較為困難,畢竟它發(fā)展不久,還需要大量的理論支持,才能更好的完善起來。</p>&
24、lt;p> 對于網(wǎng)絡(luò)考試系統(tǒng)的標(biāo)準(zhǔn)研究和開發(fā)規(guī)范方面,現(xiàn)在有很多標(biāo)準(zhǔn)的或者有關(guān)機(jī)構(gòu)制定的有關(guān)網(wǎng)絡(luò)考試的標(biāo)準(zhǔn)里面都涉及到了網(wǎng)絡(luò)考試測評系統(tǒng)相關(guān)的內(nèi)容,其中很有影響的是:IMS的Learning Recourse Metadata 和QTI,IEEE LTSC 的LOM、OCLC Dublin Cored的Dublin core元數(shù)據(jù)標(biāo)準(zhǔn)。我國的教育部的高教思在2000年5月份提出了《現(xiàn)代遠(yuǎn)程教育資源建設(shè)技術(shù)規(guī)范》(試行本),其中就
25、對考試系統(tǒng)、網(wǎng)絡(luò)題庫的規(guī)范建設(shè)進(jìn)行了定義。2000年11月,教育部組織了國內(nèi)8所有名高校的相關(guān)專家設(shè)立了教育部教育信息化技術(shù)標(biāo)準(zhǔn)委員會(huì)(CELTSC),實(shí)施了網(wǎng)絡(luò)教育技術(shù)的標(biāo)準(zhǔn)研制,確定了中國現(xiàn)代遠(yuǎn)程教育技術(shù)標(biāo)準(zhǔn)CELTS,其中還包括平臺(tái)與媒體標(biāo)準(zhǔn)引用組譜(CELTS-17)、聯(lián)系/測試互操作規(guī)范QTI(CELTS-10)。</p><p> 但就當(dāng)下而言這些個(gè)標(biāo)準(zhǔn)還處在不斷檢測和完善的階段,其中符合這些個(gè)標(biāo)準(zhǔn)
26、的網(wǎng)絡(luò)考試測評系統(tǒng)還較少。我國現(xiàn)有的的CELTS標(biāo)準(zhǔn)主要參考了IMS和IEEE,如今完成的11項(xiàng)規(guī)范,還處在使用階段。如今國內(nèi)的很多產(chǎn)品,不管是學(xué)校開發(fā)或商業(yè)公司的網(wǎng)絡(luò)考試系統(tǒng)基本都和這些規(guī)范有不小差距。</p><p> 1.3本課題研究內(nèi)容</p><p> 本課題是本人結(jié)合大學(xué)四年的駕校、四六級和期末考試經(jīng)歷而選定的。對于Java資格認(rèn)證測評系統(tǒng)的用戶的需求及現(xiàn)狀是根據(jù)本人四年的
27、經(jīng)歷得到的??荚嚥糠值脑O(shè)計(jì)是參照現(xiàn)有的駕校系統(tǒng)及相關(guān)資料完成的,考試結(jié)束后的查分設(shè)計(jì)是依據(jù)四六級考試的網(wǎng)上查分方式,同時(shí)通過圖書館及互聯(lián)網(wǎng)進(jìn)行查閱相關(guān)資料以及網(wǎng)上網(wǎng)站實(shí)際情況及相關(guān)資料完成本系統(tǒng)。本系統(tǒng)分為兩個(gè)大的模塊,一個(gè)模塊采用C/S模式實(shí)現(xiàn),另一模塊則采用MVC模型實(shí)現(xiàn)。C/S模式主要通過corejava和socket技術(shù)實(shí)現(xiàn),而MVC模型主要通過SmartStruts框架結(jié)合jsp和Mysql實(shí)現(xiàn)。</p><
28、;p><b> 本系統(tǒng)的主要功能:</b></p><p> 網(wǎng)頁考生注冊:驗(yàn)證用戶輸入的姓名,身份證,密碼等信息。</p><p> (2)考試登錄:通過查詢數(shù)據(jù)庫比對匹配,然后給出相應(yīng)的信息。</p><p> 考試主界面:顯示考生信息,隨機(jī)產(chǎn)生試卷,限定考試時(shí)間,在時(shí)間到的時(shí)候搶卷。</p><p>
29、 網(wǎng)頁考生信息:顯示所有考生信息,但不可以修改,可以發(fā)表考生對本次考試的感言。以便考生相互交流考試心得。</p><p> 2系統(tǒng)設(shè)計(jì)使用技術(shù)介紹</p><p> 2.1 JAVA介紹</p><p><b> JAVA概述</b></p><p> Java的最重要的特點(diǎn)是面向?qū)ο蟮?,它是程序設(shè)計(jì)方法中的一
30、種?!懊嫦?qū)ο蟪绦蛟O(shè)計(jì)語言”的核心之處在于開發(fā)者可以在設(shè)計(jì)和開發(fā)軟件的時(shí)候使用自己定義的關(guān)聯(lián)操作和類型。數(shù)據(jù)和代碼的集合成為“對象”。一個(gè)對象可以看成綁定有很多““狀態(tài)(數(shù)據(jù))” 和行為(代碼)”的實(shí)物。改變數(shù)據(jù)結(jié)構(gòu)需要通過和代碼通信之后在操作,否則相反。面向?qū)ο蟮某绦蛟O(shè)計(jì)可以使大型軟件工程的設(shè)計(jì)和管理變得更為容易,可以增加程序的健康性,減少工程失敗的數(shù)量。</p><p> 面向?qū)ο蟪绦蛟O(shè)計(jì)的另外一個(gè)重要目標(biāo)
31、是能夠產(chǎn)生許多的相關(guān)的類,能夠簡化軟件的再次開發(fā)。比如說,許多軟件都具有相同的功能,特別是在很多使用了相同原理組織起來的軟件。開發(fā)者在第二次開發(fā)這款軟件的時(shí)候,絕對不想在為軟件添加插件以或增強(qiáng)功能的時(shí)候,看到混亂的管理計(jì)劃和開發(fā)代碼。面向?qū)ο蟮闹饕康牟皇菫榱水a(chǎn)生很難使用且難懂的代碼,而是為了在軟件的各個(gè)功能群之間創(chuàng)建出有效的通信通道。有很多開源的軟件公司正考慮著怎么樣能夠?yàn)槌绦騿T提供更多的類使得軟件的再次開發(fā)變得更為便捷方便。<
32、/p><p><b> JAVA工作原理</b></p><p> Java語言有一個(gè)重要特點(diǎn):與平臺(tái)無關(guān)。實(shí)現(xiàn)這一特點(diǎn)的關(guān)鍵是Java虛擬機(jī)。對于一些高級語言需要到不同平臺(tái)運(yùn)行的話,起碼需要編譯為不同的目標(biāo)代碼。Java語言在導(dǎo)入Java語言虛擬機(jī)之后,如果需要在不同平臺(tái)上運(yùn)行,則不需要重新編譯了。因?yàn)镴ava虛擬機(jī)已經(jīng)屏蔽掉了與具體平臺(tái)相關(guān)的信息,所以Java語言
33、編譯程序只需在Java虛擬機(jī)上運(yùn)行并生成目標(biāo)代碼(字節(jié)碼),即可到多種平臺(tái)運(yùn)行。在執(zhí)行字節(jié)碼時(shí), Java虛擬機(jī)會(huì)將字節(jié)碼解析成為具體平臺(tái)上的機(jī)器指令,然后執(zhí)行。</p><p> 2.2 C/S模式介紹</p><p> C/S (Client/Server)模式,即大家了解的客戶和服務(wù)模式。它是一種系統(tǒng)的體系結(jié)構(gòu),有了它和兩端硬件環(huán)境的優(yōu)勢,可以充分地將任務(wù)合理地分配到Client
34、端和Server端來實(shí)現(xiàn)如圖(2-1),大大降低了系統(tǒng)通訊開銷?,F(xiàn)如今很多應(yīng)用軟件系統(tǒng)都是這種以Client/Server形式的兩層結(jié)構(gòu)系統(tǒng),因?yàn)槟壳暗能浖?yīng)用系統(tǒng)正在朝著分布式的Web應(yīng)用發(fā)展,而且Web和Client/Server 應(yīng)用都能夠處理同樣的業(yè)務(wù),利用不同的模塊共享邏輯組件;所以,外部的和內(nèi)部的用戶都能夠訪問現(xiàn)有的和新的應(yīng)用系統(tǒng),有了已有的應(yīng)用系統(tǒng)中的邏輯就能夠擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。</
35、p><p> 雖然傳統(tǒng)的C/S模式采用了開放模式,然而這僅僅是系統(tǒng)開發(fā)一級的開放性,所以在一些應(yīng)用中Client端和Server端都需要特定的軟件來支持。因?yàn)闆]有達(dá)到用戶真正所需要的開放環(huán)境,所以C/S結(jié)構(gòu)的軟件需要開發(fā)不同版本的軟件對于不同的操作系統(tǒng), 而且軟件產(chǎn)品更新?lián)Q代非??欤砸呀?jīng)很難適應(yīng)有百臺(tái)電腦以上的局域網(wǎng)用戶來同時(shí)使用。同時(shí)代價(jià)十分高, 效率非常低。</p><p> 圖2
36、-1 c/s模式</p><p> 2.3 SmartStruts框架介紹</p><p> SmartStruts框架是自己編寫的基于struts的框架。在早期Struts是Apache Jakarta項(xiàng)目的一個(gè)組成部分,該項(xiàng)目的創(chuàng)建者期望能夠在對該項(xiàng)目做研究的同時(shí),提高并改進(jìn)標(biāo)簽庫、Servlet、JavaServer Pages 和面向?qū)ο蟮募夹g(shù)水準(zhǔn)。Struts這個(gè)名字來源于在
37、建筑和舊式飛機(jī)中使用的支持金屬架。之所以稱這個(gè)框架為"Struts",就是為了讓我們牢記那些看起來不顯眼的基礎(chǔ)。這也就解釋了Struts開發(fā)Web應(yīng)用程序時(shí)所扮演的角色。在一個(gè)物理建筑被建立時(shí),工程師需要用支柱來支持建筑的每一層。所以,程序員需要用Struts來支持業(yè)務(wù)應(yīng)用的每一層。這樣做是為了在利用MVC設(shè)計(jì)模型來開發(fā)Web應(yīng)用時(shí)我們能夠縮短開發(fā)時(shí)間。所以我選擇使用該架構(gòu)。如果想混合使用Servlets和JSP的優(yōu)
38、點(diǎn)來建立可擴(kuò)展的應(yīng)用,Struts是一個(gè)不錯(cuò)的選擇,但還有一些地方需要改進(jìn),因此我在struts框架的基礎(chǔ)上編寫了SmartStruts框架。如圖(2-2),我們可以有一個(gè)很直觀的了解。</p><p> 圖2-2 利用SmartStruts實(shí)現(xiàn)MVC的工作原理</p><p> 2.4 socket介紹</p><p> socket 是面向客戶/服務(wù)器模型
39、而設(shè)計(jì)的。</p><p><b> 服務(wù)器端</b></p><p><b> 1.IP地址,</b></p><p><b> 2.不同的端口號,</b></p><p> 3.每個(gè)端口號可以建立多個(gè)socket實(shí)例,每一個(gè)實(shí)例代表一個(gè)客戶的服務(wù)。</p>
40、;<p><b> 客戶端連接</b></p><p> 1.需要使用域名(IP)找到指定服務(wù)器</p><p> 2.使用服務(wù)器的端口號找到服務(wù)器</p><p> 3.建立socket對象</p><p> 4.最后使用流和服務(wù)器通信</p><p> 詳細(xì)過程如圖(
41、2-3)所示。</p><p> 圖2-3 socket連接技術(shù)</p><p> 比如舉個(gè)簡單的例子:</p><p><b> 食堂</b></p><p><b> 1.食堂有地址</b></p><p> 2.每個(gè)食堂,有提供不同服務(wù)類窗口</p>
42、;<p> 3.每個(gè)窗口可以為多個(gè)同學(xué)服務(wù)</p><p><b> 學(xué)生買飯</b></p><p><b> 1.找到一個(gè)食堂</b></p><p><b> 2.找到一個(gè)窗口</b></p><p><b> 3.請求指定服務(wù)</
43、b></p><p> 4.有窗體提供對應(yīng)的反饋</p><p> 本系統(tǒng)的開發(fā)就使用了socket技術(shù)來滿足多用戶在網(wǎng)絡(luò)上同時(shí)考試的需求。</p><p> 2.5 Mysql數(shù)據(jù)庫介紹</p><p> 由瑞典MySQL AB公司開發(fā)的MySQL是一個(gè)具有關(guān)系型數(shù)據(jù)庫的小型管理系統(tǒng)。它具有速度快,體積小,總體擁有成本低等特點(diǎn)
44、,尤其是在開放源碼這一塊。MySQL的安裝和使用都非常便捷。而且它在使用的時(shí)候,需要先建一個(gè)database,而不是像oracle一樣可以直接建表,這樣就保證了以后對表的查詢的便捷性。MySQL使用的是最常用來訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)化語言即SQL(結(jié)構(gòu)化查詢語言)。雖然MySQL和其它的大型的數(shù)據(jù)庫有一定的差異,但它現(xiàn)有的功能完全可以滿足很多企業(yè)的需求,而且由于它是開放源代碼的,所以更受很多使用者的青睞。</p><p&g
45、t;<b> 3系統(tǒng)分析</b></p><p><b> 3.1可行性研究</b></p><p><b> 經(jīng)濟(jì)可行性分析</b></p><p> 開發(fā)本系統(tǒng)用到的所有相關(guān)的軟件都是免費(fèi)的。項(xiàng)目規(guī)模不是很大,僅需要個(gè)人認(rèn)真仔細(xì)地完成每一個(gè)細(xì)節(jié)即可,因此不需要花費(fèi)太多的人力資源。成本僅僅只
46、是個(gè)人花費(fèi)的編程的時(shí)間而已。</p><p> 由以上分析可知,Java資格認(rèn)證測試系統(tǒng)在經(jīng)濟(jì)上是可行的。</p><p><b> 技術(shù)可行性分析</b></p><p> 根據(jù)學(xué)校提出的系統(tǒng)功能、性能及實(shí)現(xiàn)系統(tǒng)的各種約束條件,根據(jù)新系統(tǒng)目標(biāo)來衡量所需的技術(shù)是否具備,本系統(tǒng)是一個(gè)結(jié)合數(shù)據(jù)庫進(jìn)行考試和查分的系統(tǒng)。對于開發(fā)本系統(tǒng)使用到的技術(shù)
47、,例如C/S模式,Smartstruts框架,socket等一些與java相關(guān)的技術(shù),我都掌握到了一定的程度。而且現(xiàn)在各項(xiàng)硬件、軟件都已成熟,例如:硬件、軟件的性能要求、環(huán)境條件等各項(xiàng)條件都良好,利用現(xiàn)有技術(shù)條件完全可以達(dá)到實(shí)現(xiàn)該系統(tǒng)功能的目標(biāo)。同時(shí),考慮到給予的開發(fā)期限也較為充裕,預(yù)計(jì)系統(tǒng)是可以在規(guī)定期限內(nèi)完成開發(fā)的。</p><p> 由以上分析可知,Java資格認(rèn)證測試系統(tǒng)的開發(fā)在技術(shù)上是可行的。<
48、/p><p><b> 其他可行性分析</b></p><p><b> 社會(huì)可行性:</b></p><p> 本系統(tǒng)的社會(huì)可行性主要從法律因素、用戶使用可行性兩方面進(jìn)行研究。</p><p><b> (1)法律因素</b></p><p>
49、本系統(tǒng)是根據(jù)本人四年的實(shí)際學(xué)習(xí)生活的情況開發(fā)研制的,是通過大量的調(diào)研得出的,系統(tǒng)的軟件設(shè)計(jì)是在獨(dú)立的環(huán)境下完成的,無可供抄襲的軟件產(chǎn)品。</p><p> (2)用戶使用可行性</p><p> 本系統(tǒng)對用戶的要求,除了需要具備在Microsoft Windows平臺(tái)上使用個(gè)人電腦的知識(shí)外,并不需要特別的技術(shù)能力。只需要對電腦的基本知識(shí)有一定的了解即可。這樣既減少了成本又簡化了操作環(huán)節(jié)
50、。</p><p> 由以上分析可知,本系統(tǒng)具有社會(huì)可行性。</p><p><b> 3.2 需求分析</b></p><p><b> 功能需求</b></p><p> 考生在注冊頁面需要輸入正確的身份證,因?yàn)樯矸葑C是識(shí)別的重要標(biāo)識(shí),并且只有當(dāng)所有的注冊信息都填寫正確時(shí),才可以提交并寫
51、入數(shù)據(jù)庫。</p><p> 考生注冊完以后可以登錄查看注冊的相關(guān)信息。</p><p> 考生可以通過輸入身份證和密碼登錄考試界面。</p><p> 考生登陸后,可以查看考試的相關(guān)規(guī)定,看完后,考生可以點(diǎn)擊開始考試,系統(tǒng)將隨機(jī)的組織一張合理的試卷給考生。</p><p> 主考試界面會(huì)有一個(gè)走動(dòng)的時(shí)間,可以供考生參考;如果考試時(shí)間
52、接近尾聲,則時(shí)間變?yōu)榧t色,提示考生考試快結(jié)束。</p><p> 如果考試結(jié)束,考生將不能考試,系統(tǒng)將跳出主考試界面并自動(dòng)統(tǒng)計(jì)考生分?jǐn)?shù)。</p><p> 在考試結(jié)束后,考生可在一定時(shí)間后登錄網(wǎng)站查詢考試信息。</p><p> 本考試系統(tǒng)也可以作為一個(gè)交流平臺(tái),各考生可以相互間查看各自信息,也可以提交自己的一些心得體會(huì)。</p><p&g
53、t;<b> 運(yùn)行環(huán)境</b></p><p> 操作系統(tǒng):Windows 2000 (Advanced) Server/2003 Server/XP Professional</p><p> 數(shù)據(jù)庫:MySQL;</p><p><b> 4概要設(shè)計(jì)</b></p><p><b&
54、gt; 4.1 功能模塊圖</b></p><p><b> 圖4-1功能模塊圖</b></p><p><b> 4.2處理流程設(shè)計(jì)</b></p><p><b> 網(wǎng)頁注冊與查詢流程</b></p><p> 考生登錄注冊網(wǎng)頁,填寫選擇注冊信息,采用
55、ajax技術(shù)單步判別輸入的信息是否正確,如錯(cuò)誤則提示相關(guān)信息;全部填寫正確則進(jìn)入考生登錄網(wǎng)頁,在填寫登錄信息并且驗(yàn)證;查詢數(shù)據(jù)庫正確則進(jìn)入考生信息界面,錯(cuò)誤則重新登錄,考生可選擇查看自己或別的考生的相關(guān)信息;進(jìn)入選中考生的信息網(wǎng)頁,如果是登錄的考生則可填寫考試感言,如果不是這只能查看而不能填寫感言。詳細(xì)步驟可參考圖(4-2)系統(tǒng)網(wǎng)頁注冊與查詢流程圖。</p><p> 圖4-2 系統(tǒng)網(wǎng)頁注冊與查詢流程圖<
56、/p><p><b> 考試登錄流程</b></p><p> 考生進(jìn)入考試登錄界面輸入身份證和密碼,如果正確進(jìn)入主操作界面,否則提示相關(guān)錯(cuò)誤信息;進(jìn)入操作界面后,選擇相關(guān)操作??荚嚨顷懥鞒虉D,如圖(4-3):</p><p> 圖4-3 考試登錄流程圖</p><p><b> 考試主界面流程</b
57、></p><p> 在修改信息時(shí),先選中一條待修改的記錄,然后直接輸入數(shù)據(jù),判斷合法性,合法則保存至數(shù)據(jù)庫,不合法重新輸入??荚囍鹘缑媪鞒虉D如圖(4-4)所示。</p><p> 圖4-4 數(shù)據(jù)修改流程圖</p><p><b> 4.3系統(tǒng)E-R圖</b></p><p> 圖4-5 系統(tǒng)E-R圖&l
58、t;/p><p><b> 4.4數(shù)據(jù)庫設(shè)計(jì)</b></p><p><b> MySQL 分析</b></p><p> 本系統(tǒng)采用MySQL數(shù)據(jù)庫,在和別的大型數(shù)據(jù)庫例如SQL Server、DB2、Oracle等比較,MySQL當(dāng)然也有它的短處,比如規(guī)模較小、功能較局限(MySQL Cluster的效率和功能相對比
59、較而言較差)等,可是這并不能減少它受青睞的程度。像一般的中小型企業(yè)和個(gè)人使用者,MySQL提供的功能完全可以滿足需求,更何況MySQL是開放源碼的軟件,所以能夠大大降低總體擁有成本。 MySQL 特征:</p><p> 1.源代碼的可移植性高,因?yàn)樗怯肅和C++編寫的,而且在多種編譯器中進(jìn)行了測試。</p><p> 2.支持Windows、Linux、FreeBSD、AIX、Ma
60、c OS、OpenBSD、OS/2 Wrap、Solaris、HP-UX、Novell Netware等多種操作系統(tǒng) </p><p> 3.像Java、PHP、C++、C、Eiffel、Perl、Python、Ruby和Tcl等的API都是由它提供的。</p><p> 4.不僅充分利用CPU資源,而且還支持多線程。</p><p> 5.對SQL查詢算法進(jìn)
61、行了優(yōu)化,可以更加高效地提高查詢速度。</p><p> 6.不但可以獨(dú)立地在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中應(yīng)用,也可以作為一個(gè)庫并且和其他軟件結(jié)合。它支持多種語言,常見的編碼有中文的utf-8、GBK等都可以用來作為數(shù)據(jù)表名和列名。</p><p> 7.它提供多種數(shù)據(jù)庫連接途徑,例如:JDBC、TCP/IP和ODBC等</p><p> 8.它有可以用來檢查、管理
62、、優(yōu)化數(shù)據(jù)庫操作的工具。</p><p> 9.可以用來處理有上千萬條記錄的大型數(shù)據(jù)庫。</p><p><b> 數(shù)據(jù)庫表的結(jié)構(gòu)</b></p><p><b> 考生信息表:</b></p><p> 考生信息表(4-1)用來存儲(chǔ)姓名、身份證、密碼等信息,是用戶注冊和登錄的關(guān)鍵表。<
63、;/p><p> 表4-1考生信息表d_user</p><p><b> 考生分?jǐn)?shù)表:</b></p><p> 考生分?jǐn)?shù)表(4-2)用來存儲(chǔ)身份證和考試分?jǐn)?shù),是存儲(chǔ)考生分?jǐn)?shù)的關(guān)鍵表。</p><p> 表4-2考生信息表d_userscore</p><p><b> 考生感言
64、表:</b></p><p> 考生感言表(4-3)用來存儲(chǔ)身份證和考試感言,是存儲(chǔ)考生感言的關(guān)鍵表。</p><p> 表4-3考生感言表d_message</p><p><b> 數(shù)據(jù)庫連接技術(shù)</b></p><p> JDBC是由一組用Java語言編寫的類和接口組成。因此在java語言中,程
65、序員連接數(shù)據(jù)庫將非常方便,只需要編寫相關(guān)sql查詢語句就可查詢想要的結(jié)果。</p><p> 數(shù)據(jù)庫的連接如圖(4-6)所示:</p><p> 圖4-6 數(shù)據(jù)庫的連接處理</p><p> 數(shù)據(jù)庫的連接處理具體實(shí)現(xiàn)如下:</p><p> //建立JDBC——ODBC橋</p><p> com.mysql
66、.jdbc. Driver;</p><p> //橋建立不成功時(shí)的錯(cuò)誤處理</p><p> catch(ClassNotFoundException event){}</p><p> //建立與數(shù)據(jù)庫的連接,并發(fā)送SQL查詢語句,將結(jié)果保存到rs對象中</p><p> Con=建立JDBC——ODBC橋</p>
67、<p> Sql=SQL查詢語句</p><p><b> 執(zhí)行查詢</b></p><p><b> Rs=返回結(jié)果</b></p><p><b> //SQL出錯(cuò)處理</b></p><p> catch(SQLException e1){}</
68、p><p> 簡單地說,JDBC 可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送 SQL 語句并處理結(jié)果。下列代碼段給出了以上三步的基本示例: </p><p> Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jTest","root","12345
69、6"); </p><p> Statement stmt = conn.createStatement(); </p><p> ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1"); </p><p> while (rs.next()) { </p
70、><p> int x = rs.getInt("a"); </p><p> String s = rs.getString("b"); </p><p> float f = rs.getFloat("c"); </p><p><b> } </b>&
71、lt;/p><p> 上述代碼對基于JDBC的數(shù)據(jù)庫訪問做了經(jīng)典的總結(jié)。</p><p><b> 5詳細(xì)設(shè)計(jì)</b></p><p><b> 5.1考試登錄模塊</b></p><p> 系統(tǒng)登陸時(shí),首先出現(xiàn)如圖(5-1)所示的短暫閃屏。</p><p><b&
72、gt; 圖5-1 閃屏</b></p><p> 待閃屏過后,便可進(jìn)入考生登錄界面, 用戶需要輸入身份證和密碼,如圖(5-2)所示。</p><p> 圖5-2 考生登陸界面</p><p> 如果考生點(diǎn)擊取消按鈕,則提示用戶是否退出,如圖(5-3)所示。</p><p> 圖5-3點(diǎn)擊取消按鈕</p>&
73、lt;p> 5.2考試操作界面 </p><p> 考生正確輸入信息并且點(diǎn)擊登錄則可進(jìn)入考試操作主界面,如圖(5-4)所示。</p><p> 圖5-4考試考操作界面</p><p> 如果考生點(diǎn)擊分?jǐn)?shù)按鈕則在當(dāng)前界面彈出消息框,顯示查詢信息,如圖(5-5)所示 。</p><p> 圖5-5 查詢消息框</p>
74、;<p> 如果考生點(diǎn)擊考試規(guī)則按鈕則在當(dāng)前界面彈出消息框,顯示考試規(guī)則信息,如圖(5-6)所示 。</p><p> 圖5-6 考試規(guī)則消息框</p><p><b> 5.3 考試主界面</b></p><p> 在上一步中,考生點(diǎn)擊開始按鈕則進(jìn)入考試主界面,如圖(5-7)所示:</p><p>
75、; 圖5-7 考試主界面</p><p> 如果考生點(diǎn)擊交卷按鈕則跳出消息提示框,詢問考生是否確定交卷,如圖(5-8)所示。</p><p> 圖5-8 確認(rèn)是否交卷信息框 </p><p> 如果時(shí)間接近考試結(jié)束時(shí)間,則下方時(shí)間提示編程紅色,提示考生;如果考試時(shí)間已到,但學(xué)生仍沒答完,系統(tǒng)將自動(dòng)搶卷,如圖(5-9)所示。</p><p&
76、gt;<b> 圖5-9 搶卷</b></p><p> 5.4 考生注冊及考后查詢模塊</p><p> 考生參加考試前需要像四六級考試一樣,登錄網(wǎng)站報(bào)名,即注冊,如圖(5-10)所示。</p><p> 圖5-10考生注冊頁面</p><p> 待考生正確輸入信息后并點(diǎn)擊確定按鈕后,則進(jìn)入登錄界面,如圖(5
77、-11)所示。</p><p> 圖5-11 考生登錄頁面</p><p> 待考生正確輸入信息后并點(diǎn)擊確定按鈕后,則進(jìn)入所有已注冊學(xué)生的基本信息,如圖(5-12)所示。</p><p> 圖5-12 考生基本信息頁面</p><p> 考生點(diǎn)擊查看,則進(jìn)入相關(guān)考生的詳細(xì)信息,如圖(5-13)所示,考生可上傳考試心得,僅限本人可填寫考
78、試心得,如果不是本人則不能填寫,如圖(5-14)所示。</p><p> 圖5-13 相關(guān)考生詳細(xì)信息頁面</p><p> 圖5-14不是本人詳細(xì)信息頁面</p><p><b> 6核心算法</b></p><p> (1)MD5加密算法:通過將密碼加密后存入數(shù)據(jù)庫,保證了密碼只有考生自己知道,具體代碼實(shí)現(xiàn)如
79、下:</p><p> public class Md5util {</p><p> //定義靜態(tài)方法,無需new一個(gè)類,就可以直接使用</p><p> public static String md5(String str){</p><p><b> try {</b></p><p&
80、gt; //通過調(diào)用自帶的類MessageDigest,使用它的getInstance(String)方法;</p><p> MessageDigest md = MessageDigest.getInstance("MD5");</p><p> //將md轉(zhuǎn)換為字節(jié)</p><p> byte[] bys = md.digest(s
81、tr.getBytes());</p><p> BASE64Encoder encode = new BASE64Encoder();</p><p> //通過encode的encode(byte[] argo)方法轉(zhuǎn)化后返回</p><p> return encode.encode(bys);</p><p> } catch
82、 (Exception e) {</p><p> e.printStackTrace();</p><p> return null;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b&
83、gt;</p><p> (2)考試計(jì)時(shí)器:用來提示考生考試時(shí)間,具體代碼如下:</p><p> private void startTimer() {</p><p> //取得規(guī)定的考試時(shí)間</p><p> int timeLimit = examInfo.getTimeLimit();</p><p>
84、;<b> //得到系統(tǒng)毫秒數(shù)</b></p><p> long start = System.currentTimeMillis();</p><p> //計(jì)算最終規(guī)定的考試毫秒數(shù)</p><p> final long end = start + (timeLimit*60*1000);</p><p>
85、 timer.schedule(new TimerTask() {</p><p> //實(shí)現(xiàn)需要繼承的方法</p><p> public void run() {</p><p> //得到系統(tǒng)當(dāng)前的毫秒數(shù)</p><p> long now = System.currentTimeMillis();</p>&l
86、t;p> long limit = end - now;</p><p><b> //顯示時(shí)間</b></p><p> showTime(limit);</p><p> if(limit<=0){</p><p><b> //超時(shí)交卷</b></p>&l
87、t;p> timeOut();</p><p><b> }</b></p><p><b> }</b></p><p> }, 0, 1000);</p><p><b> }</b></p><p><b> 7系統(tǒng)調(diào)試
88、與測試</b></p><p><b> 7.1 程序調(diào)試</b></p><p> 軟件不是設(shè)計(jì)好,就可以投入使用的,它需要不斷地測試和改正,因?yàn)樵俸玫某绦騿T也不可能在設(shè)計(jì)的過程中考慮到所有可能的情況,以及注意到所有的小細(xì)節(jié)。語法錯(cuò)誤在程序中是較為簡單的,因?yàn)樵诰幾g后,控制臺(tái)可以提示具體錯(cuò)誤在哪里??墒沁€有一些錯(cuò)誤是很難發(fā)現(xiàn),因?yàn)槊總€(gè)人都有自己的思維
89、模式,所以程序員在編程的過程中可能會(huì)出現(xiàn)一些邏輯錯(cuò)誤。這類錯(cuò)誤是由于程序員的思維模式引起的,因此這在程序員自己看來是沒有問題的,但是它確確實(shí)實(shí)是存在的,所以程序員在改成這類錯(cuò)誤的時(shí)候會(huì)花費(fèi)大量的時(shí)間。</p><p><b> 7.2 程序的測試</b></p><p><b> 測試的重要性及目的</b></p><p&
90、gt;<b> ?。?)測試的重要性</b></p><p> 無論怎么強(qiáng)調(diào)軟件測試的重要性和它對軟件可靠性的影響都不過分。在開發(fā)大型軟件系統(tǒng)的漫長過程中,面對著極其錯(cuò)綜復(fù)雜的問題,人的主觀認(rèn)識(shí)不可能符合客觀現(xiàn)實(shí),與工程密切相關(guān)的各類人員之間的通信和配合也不可能完美無缺,因此在軟件生命周期的每個(gè)階段都不可避免地會(huì)出現(xiàn)差錯(cuò)。</p><p> 大量統(tǒng)計(jì)資料表明,軟件
91、測試的工作量往往占軟件開發(fā)總工作量的40%以上,在極端情況,測試那種關(guān)系人的生命安全的軟件所話費(fèi)的成本,可能相當(dāng)于軟件工程其他開發(fā)步驟總成本的3~5倍。因此,必須高度重視軟件測試工作,絕不要以為寫出程序之后軟件開發(fā)工作就接近完成了,實(shí)際上,大約還有同樣多的開發(fā)工作量需要完成。</p><p><b> ?。?)測試的目的 </b></p><p> 什么是測試?它的
92、目標(biāo)是什么?G.Myers給出了關(guān)于測試的一些規(guī)則,這些規(guī)則也可以看作是測試的目標(biāo)或定義。</p><p> ?、?測試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行的過程。</p><p> ?、?好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試方案。</p><p> ?、?成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測試。</p><p> 從上述規(guī)則可以
93、看出,測試的正確定義是“為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程”。這和某些人通常想象的“測試是為了表明程序是正確的”,“成功的測試是沒有發(fā)現(xiàn)錯(cuò)誤的測試”等是完全相反的。正確認(rèn)識(shí)測試的目標(biāo)十分重要的,測試目標(biāo)決定了測試方案的設(shè)計(jì)。如果為了表明程序是正確的而進(jìn)行測試,就會(huì)設(shè)計(jì)一些不易暴露錯(cuò)誤的測試方案;相反,如果測試是為了發(fā)現(xiàn)程序中的錯(cuò)誤,就會(huì)力求設(shè)計(jì)出最能暴露錯(cuò)誤的測試方案。</p><p> 由于測試的目標(biāo)是暴露
94、程序中的錯(cuò)誤,從心理學(xué)的角度看,有程序的編寫者自己進(jìn)行測試不恰當(dāng)?shù)?。因此,在綜合測試階段通常有其他人員組成小組來完成測試工作。</p><p> 此外,應(yīng)該認(rèn)識(shí)到測試絕不可能證明程序是正確的。即使經(jīng)過了最嚴(yán)格的測試之后,仍然可能還有沒被發(fā)現(xiàn)的錯(cuò)誤潛藏在程序中。測試只能查找程序中的錯(cuò)誤,不能證明程序中沒有錯(cuò)誤。</p><p><b> 測試的步驟</b></
95、p><p> 測試過程基本與開發(fā)過程類似,也需要分步進(jìn)行,一個(gè)個(gè)步驟緊密測試,確保軟件無誤。軟件測試一般需要將軟件分為一個(gè)個(gè)小的子系統(tǒng),然后將子系統(tǒng)分為一個(gè)個(gè)小的模塊。所以,軟件測試一般包含一下步驟:</p><p> ?。?)模塊測試 在這個(gè)測試步驟中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤。</p><p> ?。?)系統(tǒng)測試 在這個(gè)測試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計(jì)中的錯(cuò)
96、誤,也可能發(fā)現(xiàn)需求說明中的錯(cuò)誤。</p><p> ?。?)驗(yàn)收測試 在這個(gè)測試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯(cuò)誤。</p><p><b> 測試的主要內(nèi)容</b></p><p> 為了確保測試的質(zhì)量,測試一般被分為以下幾個(gè)階段:</p><p><b> ?。?)單元測試 </b>&
97、lt;/p><p> 單元測試需要一步步測試軟件的每一個(gè)最小模塊是否存在問題,是否與定義該模塊的額功能說明相符合,以及各種各樣的編碼錯(cuò)誤。例如以下測試:</p><p> 在注冊模塊中,如果考生不填信息并點(diǎn)擊確定,則提示不能為空,如圖(7-1)所示。</p><p><b> 圖7-1不能為空</b></p><p>
98、 如果身份證已注冊,則提示已注冊,如圖(7-2)所示。</p><p> 圖7-2 身份證已注冊</p><p> 如果身份證錯(cuò)誤,則提示身份證錯(cuò)誤,如圖(7-3)所示。</p><p> 圖7-3 身份證不正確</p><p> 如果郵箱不正確,則提示郵箱不正確,如圖(7-4)所示。</p><p>
99、圖7-4 郵箱格式不正確</p><p> 如果驗(yàn)證碼不正確,則提驗(yàn)證不正確,如圖(7-5)所示。</p><p> 圖7-5 驗(yàn)證碼錯(cuò)誤</p><p> 在考試模塊中,考生登錄的時(shí)候,如果輸入身份證錯(cuò)誤,則彈出消息框提示無此用戶,如圖(7-6)所示,如果輸入密碼錯(cuò)誤,則彈出消息框提示密碼錯(cuò)誤,如圖(7-7)所示。</p><p>
100、 圖7-6身份證錯(cuò)誤消息框</p><p> 圖7-7 密碼錯(cuò)誤消息框</p><p> 在考試操作界面中,如果考生已經(jīng)參加過考試則彈出消息框提示考生不能再次考試,如圖(7-8)所示。</p><p> 圖7-8 考試消息框</p><p><b> (2)集成測試 </b></p><p&g
101、t; 集成測試即將各個(gè)模塊按照設(shè)計(jì)的要求進(jìn)行組裝和測試,這一步關(guān)鍵是發(fā)現(xiàn)是否存在和接口有關(guān)的問題。比如兩個(gè)模塊可能由于一些細(xì)小的疏忽而造成沒有想到的影響,例如本系統(tǒng)的很多變量設(shè)置問題,都需要考慮到全局的影響,因?yàn)槿绻麤]有考慮清楚可能會(huì)出現(xiàn)多種空指針錯(cuò)誤或其他沒有預(yù)想到的錯(cuò)誤。經(jīng)該步驟測試,本軟件各種接口之間沒有問題。 </p><p><b> (3)確認(rèn)測試 </b></p>
102、;<p> 確認(rèn)測試主要是為了檢驗(yàn)系統(tǒng)是否能像用戶預(yù)期的那樣運(yùn)行和工作。在集成測試之后,各個(gè)模塊已經(jīng)被整合成一個(gè)完整的系統(tǒng),各種接口問題已經(jīng)解決,那么接下來就需要進(jìn)一步測試軟件是否有效,這就是確認(rèn)測試的任務(wù),也就是測試軟件是否能像預(yù)期的情況運(yùn)行。經(jīng)過測試本軟件能夠做到這一點(diǎn)。 </p><p><b> ?。?)系統(tǒng)測試 </b></p><p>
103、開發(fā)軟件完成后,還需要和其他系統(tǒng)的部分配套運(yùn)行,然后進(jìn)行系統(tǒng)測試。一般從以下幾方面入手:</p><p> ?、?功能測試:測試是否滿足開發(fā)要求,是否提供設(shè)計(jì)所描述的功能,是否用戶的需求都得到滿足。功能測試是系統(tǒng)測試最常用和必須的測試,通常還會(huì)以正式的軟件說明書為測試標(biāo)準(zhǔn)。</p><p> ② 強(qiáng)度及性能測試:測試系統(tǒng)是否能夠在某些超負(fù)荷的特殊情況下運(yùn)行,用來檢測系統(tǒng)的最高實(shí)際功能限度
104、。</p><p> ③ 安全測試:驗(yàn)證本系統(tǒng)是否能保證用戶資料的安全性;在注冊的時(shí)候,是否能夠防止某些用戶惡意注冊,而導(dǎo)致數(shù)據(jù)庫癱瘓;驗(yàn)證各項(xiàng)數(shù)據(jù)之間時(shí)候是否存在沖突。</p><p> 經(jīng)過上述的測試過程對軟件進(jìn)行測試后,軟件基本滿足開發(fā)的要求,測試宣告結(jié)束。</p><p><b> 8結(jié)論</b></p><p
105、> 8.1 系統(tǒng)評價(jià) </p><p> ?。?)要想開發(fā)本系統(tǒng)必須對線程、jsp、c/s模式、Smartstruts框架、ajax、jQuery等多項(xiàng)技術(shù)有一個(gè)深入的了解。</p><p> ?。?)本系統(tǒng)操作界面簡單明了,考生只需具備一定的電腦基礎(chǔ)知識(shí)即可正??荚?,而且界面友好、使用靈活、操作簡單、功能齊全、表現(xiàn)方式獨(dú)特,已基本具備了成熟的技術(shù)理論。</p>
106、<p> ?。?)開發(fā)系統(tǒng)的時(shí)候,經(jīng)驗(yàn)是最重要的,經(jīng)驗(yàn)不足,就難免會(huì)有許多考慮不周之處,因此在這方面我花了大量的時(shí)間,在網(wǎng)絡(luò)上查找相關(guān)信息,基本確保各方面都考慮到。</p><p> ?。?)本系統(tǒng)的現(xiàn)實(shí)意義在于:可以說是本人大學(xué)四年考試經(jīng)歷的寫照,例如四六級考試,駕校考試和期末考試等,我將四六級考試的注冊和查詢功能,駕??荚嚨男问揭约捌谀┛荚嚨慕?jīng)歷都融入到了本系統(tǒng)中,雖然有一些地方還不近完美,但已經(jīng)
107、很接近實(shí)際生活,所以系統(tǒng)有著很好的發(fā)展前景。</p><p> ?。?)本系統(tǒng)的軟件優(yōu)勢在于:可以在服務(wù)器上監(jiān)視各位考生的考試狀況,又可以在服務(wù)器未開啟的狀況下,進(jìn)行單機(jī)考試。</p><p> 8.2 安全性問題及存在問題</p><p> 考慮到本系統(tǒng)是考試系統(tǒng),因此對于考生的信息,比如:密碼,要絕對保密,除了考生別人都不可能知道,因此我對密碼進(jìn)行了MD5加
108、密,確保了密碼的安全性。如果考生以參加過考試,則不能讓考生再次考試,否則就失去了考試的公正性??忌某煽冊谝?guī)定時(shí)間統(tǒng)一發(fā)放,考生如果沒有參加過考試則沒有相關(guān)的考試信息。</p><p> 本考試系統(tǒng)只涉及到了主觀題,由于客觀題的范圍太廣,所以考試相對而言較單一。</p><p> 8.3 個(gè)人心得體會(huì)</p><p> 通過對本系統(tǒng)的設(shè)計(jì)與開發(fā),我對線程、js
109、p、c/s模式、Smartstruts框架、ajax、jQuery等多項(xiàng)技術(shù)有了一個(gè)更深入的了解。而且在開發(fā)本系統(tǒng)的時(shí)候需要通過逆向思維來測試軟件,發(fā)現(xiàn)了很多小細(xì)節(jié)值得注意,這對于我而言將是以后生活和工作中無比寶貴的經(jīng)驗(yàn);雖然個(gè)人認(rèn)為已經(jīng)考慮的很全面,但是個(gè)人的思維畢竟有限,常言道三個(gè)臭皮匠,頂個(gè)諸葛亮,所以還是很有可能留下許多小細(xì)節(jié)沒注意,所以這套軟件需要經(jīng)常的被用戶使用,然后在不斷的發(fā)現(xiàn)和修改錯(cuò)誤中成長起來。</p>
110、<p><b> 參考文獻(xiàn)</b></p><p> [1] BruceEckel.Thinking in JAVA. 機(jī)械工業(yè)出版社,2003.10</p><p> [2] 王鵬,何昀峰.Java Swing圖形界面開發(fā)與案例詳解.清華大學(xué)出版社,2008.12</p><p> [3]賽奎春.JAVA工程應(yīng)用與項(xiàng)目實(shí)踐.
111、 機(jī)械工業(yè)出版社, 2002.08</p><p> [4]FLANAGAN.JAVA技術(shù)手冊. 中國電力出版社,2002.06</p><p> [5]孫一林,彭波.JSP數(shù)據(jù)庫編程實(shí)例. 清華大學(xué)出版社,2002.08</p><p> [6]LEE ANNE PHILLIPS.巧學(xué)活用 JSP.電子工業(yè)出版社,2004.08</p><
112、;p> [7]飛思科技產(chǎn)品研發(fā)中心.JSP應(yīng)用開發(fā)詳解.電子工業(yè)出版社,2003.09</p><p> [8]耿祥義,張躍平.JSP實(shí)用教程. 清華大學(xué)出版社,2003.05</p><p> [9]孫涌.現(xiàn)代軟件工程.北京希望電子出版社,2003.08</p><p> [10]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論.高等教育出版社,2002.02</
113、p><p> [11]Brown等.JSP編程指南(第二版). 電子工業(yè)出版社 ,2003.03</p><p> [12]清宏計(jì)算機(jī)工作室.JSP編程技巧. 機(jī)械工業(yè)出版社, 2004.05 </p><p> [13]朱紅,司光亞.JSP編程指南.電子工業(yè)出版,2005.06</p><p> [14]萬峰科技.JSP網(wǎng)站開發(fā)四酷
114、全書.電子工業(yè)出版社,2005.09</p><p> [15]王選.軟件設(shè)計(jì)方法.北京清華大學(xué)出版社,1992.06</p><p> [16]張海藩.軟件工程導(dǎo)論(第五版)學(xué)習(xí)輔導(dǎo).清華大學(xué)出版社,2008.09</p><p> [17]Jim Budzynski.E-business:Model for success or failure.AgriM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java論壇管理系統(tǒng)——畢業(yè)論文
- java畢業(yè)論文--倉庫管理系統(tǒng)
- java信息系統(tǒng)畢業(yè)論文
- java酒店管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——java
- java畢業(yè)論文
- 畢業(yè)論文設(shè)計(jì)java網(wǎng)上考試系統(tǒng)
- 網(wǎng)上花店系統(tǒng)java---畢業(yè)論文
- 畢業(yè)論文---基于java新聞發(fā)布系統(tǒng)
- java中國象棋對弈系統(tǒng)畢業(yè)論文
- java中國象棋對弈系統(tǒng)畢業(yè)論文
- 基于java的在線考試系統(tǒng)(畢業(yè)論文)
- 基于java的在線考試系統(tǒng)畢業(yè)論文
- java學(xué)生信息管理系統(tǒng)畢業(yè)論文
- 基于java的倉庫管理系統(tǒng)畢業(yè)論文
- 基于java的餐飲管理系統(tǒng)畢業(yè)論文
- 基于java的餐飲管理系統(tǒng)畢業(yè)論文
- java中國象棋對弈系統(tǒng)畢業(yè)論文
- 畢業(yè)論文范文——java論壇管理系統(tǒng)
- 基于java的網(wǎng)上考試系統(tǒng)畢業(yè)論文
評論
0/150
提交評論