java在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)說明_第1頁
java在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)說明_第2頁
java在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)說明_第3頁
java在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)說明_第4頁
java在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

.36/50航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)論文題目:在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)所屬系部:計(jì)算機(jī)工程系航空職業(yè)技術(shù)學(xué)院制2012年4月13日航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)任務(wù)書題目:在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)任務(wù)與要求:1、系統(tǒng)要求簡單靈活,便于操作。2、題目旨在完成題庫的建立、試題的生成以與考試過程和評分。完成系統(tǒng)詳細(xì)的需求分析。3、開發(fā)工具自定4、系統(tǒng)完成后能夠正常運(yùn)行。時間:2012年2月20日至2012年4月13日共8周所屬系部:計(jì)算機(jī)工程系學(xué)生:嚴(yán)文斐 學(xué)號:093031-28專業(yè):軟件技術(shù)指導(dǎo)單位或教研室:軟件技術(shù)指導(dǎo)教師: 衛(wèi)衛(wèi) 職稱:講師航空職業(yè)技術(shù)學(xué)院制2011年11月25日畢業(yè)設(shè)計(jì)(論文)進(jìn)度計(jì)劃表日期工作容執(zhí)行情況指導(dǎo)教師

簽字2012.2.21-2012.2.27可行性分析完成2012.2.28-2012.3.3需求分析完成2012.3.4-2012.3.10軟件設(shè)計(jì)完成2012.3.11-2012.4.1軟件編碼完成2012.4.2-2012.4.8軟件測試完成2012.4.9-2012.4.13撰寫論文完成教師對進(jìn)度計(jì)劃實(shí)施情況總評簽名年月日本表作評定學(xué)生平時成績的依據(jù)之一。航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)審查意見書指導(dǎo)教師對學(xué)生嚴(yán)文斐所完成的題目為在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的畢業(yè)設(shè)計(jì)(論文)進(jìn)行情況、完成質(zhì)量的審查意見:成績:指導(dǎo)教師:年月日航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)評閱意見書評閱人對學(xué)生嚴(yán)文斐所完成的題目為在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的畢業(yè)設(shè)計(jì)(論文)評閱意見為:成績:評閱人:年月日航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)答辯結(jié)果畢業(yè)設(shè)計(jì)(論文)答辯委員會對學(xué)生嚴(yán)文斐所完成的題目為在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的畢業(yè)設(shè)計(jì)(論文)與答辯評語為:經(jīng)答辯委員會研究,確定成績?yōu)椋寒厴I(yè)設(shè)計(jì)(論文)答辯委員會主任:答辯委員會委員:年月日該生的畢業(yè)設(shè)計(jì)(論文)最終成績評定:該生的畢業(yè)設(shè)計(jì)(論文)最終成績評定:審閱成績(權(quán)重0.4)評閱成績(權(quán)重0.4)答辯成績(權(quán)重0.2)最終成績航空職業(yè)技術(shù)學(xué)院頂崗實(shí)習(xí)(合作教育學(xué)期)工作鑒定(一)合作企業(yè):部門:地址:::指導(dǎo)教師:職務(wù)職稱:學(xué)生:系(部):專業(yè):工作學(xué)期日期:工作容概述:評價工作表現(xiàn):A.滿意B.偶有缺勤工作態(tài)度:A.積極主動B.被動服從工作質(zhì)量:A.質(zhì)量達(dá)標(biāo)B.經(jīng)常出錯團(tuán)隊(duì)精神:A.融入集體B.不善溝通創(chuàng)新精神:A.善于創(chuàng)新B.缺少創(chuàng)新工作效果:A.勝任工作B.還需適應(yīng)成績評定:A.優(yōu)秀B.良好C.與格D.不與格您對我院合作教育有何意見和建議:企業(yè)蓋章年月日注:①表一由企業(yè)填寫;②表二由學(xué)生、協(xié)調(diào)教師、系部填寫:③此表雙面打印工作容與所學(xué)專業(yè)聯(lián)系情況:A.密切B.有聯(lián)系C.不密切學(xué)生工作總結(jié):學(xué)生簽名年月日協(xié)調(diào)教師____所在系部____A.面談_________次B.、信件聯(lián)系____次協(xié)調(diào)教師對學(xué)生的評價:協(xié)調(diào)教師簽名:學(xué)院系部意見:系部蓋章年月日航空職業(yè)技術(shù)學(xué)院頂崗實(shí)習(xí)(合作教育學(xué)期)工作鑒定(二)航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)指導(dǎo)記錄表嚴(yán)文斐指導(dǎo)教師衛(wèi)衛(wèi)學(xué)號09303128專業(yè)軟件技術(shù)指導(dǎo)教師職稱講師論文題目在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)指導(dǎo)時間2012年2月20日至2012年4月13日第一次指導(dǎo)指導(dǎo)時間:2012.02.21指導(dǎo)容:布置畢業(yè)設(shè)計(jì)題目,下發(fā)畢業(yè)設(shè)計(jì)任務(wù)書。第二次指導(dǎo)指導(dǎo)時間:2012.03.01指導(dǎo)容:指導(dǎo)設(shè)計(jì)容應(yīng)注意的問題。第三次指導(dǎo)指導(dǎo)時間:2012.03.31指導(dǎo)容:指導(dǎo)畢業(yè)設(shè)計(jì)中數(shù)據(jù)庫的設(shè)計(jì),頁面處理。指導(dǎo)教師(簽名):年月日畢業(yè)論文(設(shè)計(jì))誠信聲明本人聲明:所呈交的畢業(yè)論文(設(shè)計(jì))是在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作與取得的研究成果,論文中引用他人的文獻(xiàn)、數(shù)據(jù)、圖表、資料均已作明確標(biāo)注,論文中的結(jié)論和成果為本人獨(dú)立完成,真實(shí)可靠,不包含他人成果與已獲得或其他教育機(jī)構(gòu)的學(xué)位或證書使用過的材料。與我一同工作的同志對本研究所做的任何貢獻(xiàn)均已在論文中作了明確的說明并表示了意。論文(設(shè)計(jì))作者簽名:日期:年月日畢業(yè)論文(設(shè)計(jì))使用授權(quán)書本畢業(yè)論文(設(shè)計(jì))作者同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文(設(shè)計(jì))的復(fù)印件和電子版,允許論文(設(shè)計(jì))被查閱和借閱。本人授權(quán)農(nóng)業(yè)大學(xué)可以將本畢業(yè)論文(設(shè)計(jì))全部或部分容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本畢業(yè)論文(設(shè)計(jì))。本人離校后發(fā)表或使用該畢業(yè)論文(設(shè)計(jì))或與該論文(設(shè)計(jì))直接相關(guān)的學(xué)術(shù)論文或成果時,單位署名為。論文(設(shè)計(jì))作者簽名:日期:年月日指導(dǎo)教師簽名:日期:年月日在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[摘要]本論文主要闡述了在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),系統(tǒng)分為學(xué)生端和老師端兩部分。學(xué)生端是學(xué)生考試的模塊。老師端包括五大功能,即:題庫管理、成績管理、系統(tǒng)管理、批卷管理、試卷管理。論文詳細(xì)論述了系統(tǒng)的可行性分析、需求分析、詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)過程。本文根據(jù)在線考試系統(tǒng)的需求定義出發(fā),使用Mysql數(shù)據(jù)庫技術(shù)、JDBC開發(fā)技術(shù)操作數(shù)據(jù)庫。以Java與Actionscript3.0為編程基礎(chǔ)語言,flex來開發(fā)系統(tǒng)界面,并使用JDBC技術(shù)連接數(shù)據(jù)庫。在高校對計(jì)算機(jī)相關(guān)課程的考核,也逐漸向計(jì)算機(jī)方向發(fā)展來代替?zhèn)鹘y(tǒng)的筆試與老師監(jiān)考,因此,開發(fā)一個在線的考試系統(tǒng)對于高校是很有必要的。既可以方便的測試學(xué)生的實(shí)際操作能力,并且大大的減少了老師的工作量,減少學(xué)生作弊情況的發(fā)生,以與可以減少老師人為閱卷的誤差,并且可以簡單的整理試題,方便查詢等等。關(guān)鍵詞:在線考試系統(tǒng)MySqlJavaJDBCActionscriptFlexAIRIAOnlineexaminationsystemAbstract:Nowthecontinuousdevelopmentofinformationtechnology;businessesareusingcomputersinsteadofcomplexhumanlabor,significantsavingsintheamountofworkstaffandcapitalinvestments.Computer-relatedcoursesincollegesanduniversitiesfortheassessment,butalsograduallydevelopinthedirectiontothecomputertoreplacethetraditionalwrittentestexaminersandteachers,therefore,developedanonlineexaminationsystemforcollegesanduniversitiesisnecessary.Studentscaneasilytestbothpracticalskills,andgreatlyreducestheteacherscanreducehumanerrorinmarking,andfinishingquestionscanbesimple,easyaccessandsoon.Basedontheneedsofonlineexaminationsystemdefinition,usetheMysqldatabasetechnology,JDBCdatabasedevelopmenttechnicaloperations.Java-basedlanguageforprogrammingwithActionscript3.0,flextodevelopsysteminterfaces,andconnecttothedatabaseusingJDBCtechnology.Studentsandteachersendsystemisdividedintotwopartsside.Studentsendofmoduleexamstudents.Theteacherside,includingfivefunctions,namely:bankmanagement,performancemanagement,systemmanagement,batchvolumemanagement,papermanagement.Paperdiscussesindetailthefeasibilityanalysis,requirementsanalysis,detaileddesignandimplementationprocessKeywords:testonlineMySqlJavaJDBCActionscriptFlexAIRIA目錄1緒論11.1課題背景11.2本課題研究的目的與意義11.2.1研究目的11.2.2研究容12技術(shù)綜述22.1C/S結(jié)構(gòu)22.1.1使用C/S的優(yōu)勢22.1.2使用C/S的劣勢22.2JDBC32.2.1JDBC的概念32.2.2JDBC的任務(wù)32.3FlexAIR富客戶端技術(shù)32.4Flex與java通信42.4.1通過Service與服務(wù)器通信52.4.2通過WebService與服務(wù)器通信52.4.3通過Remoting與服務(wù)器端通信52.5ActionScript3.0腳本語言82.6MySql83系統(tǒng)分析93.1系統(tǒng)的可行性分析93.1.1經(jīng)濟(jì)可行性分析93.1.2技術(shù)可行性分析93.2系統(tǒng)結(jié)構(gòu)圖93.3系統(tǒng)流程圖103.4系統(tǒng)功能需求描述11表3-1系統(tǒng)功能需求圖123.5系統(tǒng)E-R模型123.6本章小結(jié)134總體設(shè)計(jì)144.1總體設(shè)計(jì)的目的144.2總體設(shè)計(jì)的容144.2.1總體功能模塊設(shè)計(jì)144.2.2數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)144.3系統(tǒng)開發(fā)環(huán)境設(shè)計(jì)184.4本章小結(jié)185詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)205.1前臺功能205.2.1登陸模塊設(shè)計(jì)205.2.2打開試卷功能模塊設(shè)計(jì)225.2.3交卷功能模塊設(shè)計(jì)235.2后臺功能235.2.1題庫管理235.2.2試卷管理275.2.3成績統(tǒng)計(jì)285.2.4系統(tǒng)管理305.3技術(shù)特點(diǎn)315.4本章小結(jié)326軟件測試336.1軟件測試的定義336.2常用的測試方法336.3系統(tǒng)的測試336.4模塊測試336.5驗(yàn)收測試346.4本章小結(jié)35結(jié)束語36辭37文獻(xiàn)381緒論1.1課題背景隨著Internet的迅速發(fā)展和廣泛普與,使得考試的技術(shù)手段和載體發(fā)生了革命性的變化。傳統(tǒng)的考試方式一般要經(jīng)過人工出卷、考生考試、人工閱卷等過程。對于一些課程來說,隨著考生數(shù)量的增加,教師出卷閱卷的工作量將會越來越大,并且其工作十分煩瑣和非常容易出錯。在線考試系統(tǒng)課題產(chǎn)生的背景是當(dāng)今教育信息化的趨勢與我國高校教育信息化系統(tǒng)的建設(shè),目的是充分利用學(xué)?,F(xiàn)有的計(jì)算機(jī)軟、硬件和網(wǎng)絡(luò)資源實(shí)現(xiàn)無紙化考試以避免傳統(tǒng)手工考試的不足。與傳統(tǒng)考試模式相比,網(wǎng)上考試滲入了更多的技術(shù)環(huán)節(jié),對實(shí)現(xiàn)安全性的途徑、方法也提出了更高的技術(shù)要求。通過Internet來實(shí)現(xiàn)網(wǎng)上考試,是現(xiàn)代教育技術(shù)的一個具體實(shí)現(xiàn),具有很重要的現(xiàn)實(shí)意義。對一些計(jì)算機(jī)科目的考試,僅僅通過簡單的筆試很難測試出學(xué)生的真實(shí)編程水平,而且在傳統(tǒng)的筆試方式考試中,常常會發(fā)生學(xué)生作弊的情況,因此這種上機(jī)考試的系統(tǒng)對于與時,準(zhǔn)確的測試學(xué)生的學(xué)習(xí)情況死很有必要的。1.2本課題研究的目的與意義在線考試系統(tǒng)是管理題刻和考試的系統(tǒng),在考試的工程中將學(xué)生的部分考試成績和答案提交到老師端,有老師閱卷審批匯總成績。并且教師可以對題庫做管理。1.2.1研究目的在線考試系統(tǒng)的主要目的在與簡化教師的試卷以與題庫的管理和學(xué)生考試,與時準(zhǔn)確的檢測學(xué)生實(shí)踐的能力,同時可以減少學(xué)校對學(xué)生考試的資金投資,提高了考試的效率并減少資源的浪費(fèi)。1.2.2研究容在線考試系統(tǒng)可以分為學(xué)生端和教師端,學(xué)生端主要是單一的考試部分,教師端是對題庫的管理,試卷的管理,試卷分析,成績統(tǒng)計(jì),學(xué)生的管理,和組卷的過程。2技術(shù)綜述2.1C/S結(jié)構(gòu)C/S又稱Client/Server或客戶/服務(wù)器模式。服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫系統(tǒng),如Oracle、Sybase、Informix或SQLServer??蛻舳诵枰惭b專用的客戶端軟件。2.1.1使用C/S的優(yōu)勢C/S構(gòu)是加世紀(jì)80年代逐漸成長起來,是在計(jì)算機(jī)網(wǎng)絡(luò)和分布式計(jì)算基礎(chǔ)上的一種局域網(wǎng)絡(luò)結(jié)構(gòu)模式。在C/體系結(jié)構(gòu)中應(yīng)用程序邏輯通常分布在客戶和服務(wù)器兩端:客戶機(jī)前端處理用戶的界面和交互的容,服務(wù)器后端主要用來處理數(shù)據(jù)管理與業(yè)務(wù)邏輯,客戶機(jī)和服務(wù)器既分擔(dān)不同任務(wù),又協(xié)同工作??蛻魴C(jī)向服務(wù)器發(fā)送服務(wù)請求,服務(wù)器接受請求進(jìn)行處理,并將處理結(jié)果傳回給客戶機(jī)。采用C/S體系結(jié)構(gòu)具有以下優(yōu)點(diǎn):1)由于應(yīng)用程序運(yùn)行在客戶機(jī)上,當(dāng)需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操作時。客戶程序自動查找服務(wù)器程序,并向其發(fā)出請求,當(dāng)服務(wù)器收到該請求后,服務(wù)器程序根據(jù)預(yù)定的規(guī)則做出應(yīng)答,因此服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。2)能夠解決復(fù)雜的事務(wù)邏輯。3)該體系結(jié)構(gòu)通過將人、物合理分配到Client端和Server端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢。4)C/S技術(shù)發(fā)展歷史更為“悠久”。從技術(shù)成熟度與軟件設(shè)計(jì)上講,C/S技術(shù)應(yīng)用更成熟、更可靠。2.1.2使用C/S的劣勢只適用于局域網(wǎng)。而隨著互聯(lián)網(wǎng)的飛速發(fā)展,移動辦公和分布式辦公越來越普與,這需要我們的系統(tǒng)具有擴(kuò)展性。這種方式遠(yuǎn)程訪問需要專門的技術(shù),同時要對系統(tǒng)進(jìn)行專門的設(shè)計(jì)來處理分布式的數(shù)據(jù)。客戶端需要安裝專用的客戶端軟件。首先涉與到安裝的工作量,其次任何一臺電腦出問題,如病毒、硬件損壞,都需要進(jìn)行安裝或維護(hù)。特別是有很多分部或?qū)Yu店的情況,不是工作量的問題,而是路程的問題。還有,系統(tǒng)軟件升級時,每一臺客戶機(jī)需要重新安裝,其維護(hù)和升級成本非常高。對客戶端的操作系統(tǒng)一般也會有限制??赡苓m應(yīng)于Win98,但不能用于win2000或WindowsXP?;蛘卟贿m用于微軟新的操作系統(tǒng)等等,更不用說Linux、Unix等。2.2JDBC2.2.1JDBC的概念JDBC(JavaDataBaseConnectivity)是java數(shù)據(jù)庫的一種連接,它是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成[14]。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純JavaAPI編寫數(shù)據(jù)庫應(yīng)用程序。當(dāng)Java可以使用JDBC后,系統(tǒng)向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,當(dāng)系統(tǒng)設(shè)置JDBCAPI后,就不必為了在訪問Sybase數(shù)據(jù)庫專門寫一個程序,而當(dāng)系統(tǒng)需要訪問Oracle數(shù)據(jù)庫時,專門為其寫另外一個程序,或在訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBCAPI寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL語句的調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須編寫一遍程序就可以讓它在任何平臺上運(yùn)行,這也體現(xiàn)了Java語言“編寫一次,處處運(yùn)行”的優(yōu)勢。2.2.2JDBC的任務(wù)簡單的說,JDBC的任務(wù)就是做三件事情:與數(shù)據(jù)庫建立連接、發(fā)送SQL語句并處理結(jié)果。在通訊網(wǎng)絡(luò)電子計(jì)費(fèi)系統(tǒng)中,很必然的需要和后臺數(shù)據(jù)庫相連接,因?yàn)椴僮鞯淖罱K目的是得到計(jì)費(fèi)清單。JDBC如果想建立連接必須要裝載驅(qū)動程序,在驅(qū)動程序裝載成功后才能與數(shù)據(jù)庫建立連接。在電子計(jì)費(fèi)系統(tǒng)中,系統(tǒng)在設(shè)計(jì)到過程中使用到到是Oracle數(shù)據(jù)庫,因此只要在程序中寫一段可裝載Oracle驅(qū)動程序的代碼就可以與數(shù)據(jù)庫建立連接。2.3FlexAIR富客戶端技術(shù)1.FlexFlashPlayer最早為Macromedia公司產(chǎn)品,作為因特網(wǎng)頁的矢量動畫平臺,早期的FlashPlayer主要是面向娛樂功能和多媒體應(yīng)用。其后推出了ActionScript語言作為補(bǔ)充,通過ActionScript可以對FlashPlayer中的動畫和控件進(jìn)行更為復(fù)雜的邏輯控制[9]。2005年12月Adobe收購Macromedia公司,由此帶了的巨大變革,Adobe將其打造為新一代的RIA,同時將此版本命名為Flex。Flex是一套Adobe的RIA技術(shù)的集合,F(xiàn)lex應(yīng)用在多層架構(gòu)中作為表示層。Flex包括:FlexSDK、FlexBuilder、FlashPlayer、LiveCycleDataService、ActionScript、MXML。2.AdobeAirAdobeAIR(AIR=AdobeIntegratedRuntime),開發(fā)代號為Apoll。AIR是針對網(wǎng)絡(luò)與桌面應(yīng)用的結(jié)合所開發(fā)出來的技術(shù),可以不必經(jīng)由瀏覽器而對網(wǎng)絡(luò)上的云端程式做控制[11]。一個跨操作系統(tǒng)運(yùn)行時庫,支持開發(fā)人員組合使用HTML、AJAX、AdobeFlash和AdobeFlex技術(shù)將其部署到桌面。提供了一個跨操作系統(tǒng)的單一應(yīng)用程序安裝程序。3.AMFAMF是ActionMessageFormat的縮寫,是Adobe公司定義的協(xié)議,AMF是LCDS(blazeDS)與前端Flex應(yīng)用通信的方式之一,BlazeDS和前端通信還可以采用SOAP或等其它協(xié)議。與這些通信方式不同,AMF采用二進(jìn)制的編碼方式,并采用Zlib對消息進(jìn)行壓縮,AMF消息體的大小只有基于XML協(xié)議的十分之一。因此在需要大量傳輸消息的場合,和純文本協(xié)議相比,AMF是一種高效率的傳輸方式。同時AMF也為開發(fā)者提供了一種便利而快速的通信開發(fā)接口,它可將前端Flex中本地對象(例如:Object、Array、Date、XML等)傳給Server端時自動適配成Server端適當(dāng)?shù)膶ο蟆@纾喝绻鸖erver端是PHP應(yīng)用,則AMF會自動轉(zhuǎn)譯為PHP的AssociativeArray;如果Server端是Java應(yīng)用,則AMF將其轉(zhuǎn)換為Java的數(shù)組[9]。2.4Flex與java通信Flex與java通信常用的有三種方式,分別是Service、WebService和Remoting,其中Remoting方式最為常用這里只詳細(xì)介紹Remoting的連接方式。數(shù)據(jù)具有流動性,數(shù)據(jù)傳輸是指根據(jù)用戶控制傳遞至指定目的地。數(shù)據(jù)交互是指Flex與其他程序進(jìn)行數(shù)據(jù)交換,包括傳遞數(shù)據(jù)給其他程序和接收其他程序返回的數(shù)據(jù)[11]。2.4.1通過Service與服務(wù)器通信<mx:Service>組件可與所有的程序交互。例如,ASP、ASP.Net、JSP、PHP等。網(wǎng)址帶參方式的優(yōu)點(diǎn)是傳參簡單,但缺點(diǎn)是參數(shù)必須先轉(zhuǎn)化為字符串類型,因?yàn)榫W(wǎng)址中只能是字符串類型。另外,若傳遞的參數(shù)較多,網(wǎng)址字符串就會變得很長。使用網(wǎng)址帶參方式能把Flex應(yīng)用程序中的數(shù)據(jù)傳遞給程序。程序接收數(shù)據(jù)后進(jìn)行處理,并返回Flex可識別的數(shù)據(jù)類型。<mx:Service>組件返回的數(shù)據(jù)存儲于ResultEvent類中。使用<mx:Service>組件的result事件可處理程序返回的數(shù)據(jù)。2.4.2通過WebService與服務(wù)器通信WebService是一種在互聯(lián)網(wǎng)中提供服務(wù)的技術(shù)。WebService技術(shù)標(biāo)準(zhǔn)由各大軟件開發(fā)商制定,主要解決了不同開發(fā)語言間的溝通問題。例如,.Net程序調(diào)用WebService服務(wù),而此WebService服務(wù)是由Java語言開發(fā)的。WebService具有通用性。不論用何種語言開發(fā)的WebService服務(wù),調(diào)用的結(jié)果都是一致的。這是因?yàn)閃ebService有自身的標(biāo)準(zhǔn),與開發(fā)語言無關(guān)。用戶可使用幾乎任何語言調(diào)用WebService服務(wù),只要能找到WebService服務(wù)并傳遞的參數(shù)正確。<mx:WebService>組件的使用方法與<mx:Service>組件的使用方法小異。最主要的區(qū)別在于參數(shù)的傳遞方式。2.4.3通過Remoting與服務(wù)器端通信1.首先建立一個web工程:2.向flexweb工程手工添加Flex需要的元素。1)首先將BlazeDS需要的jar文件拷貝到工程的lib目錄下。可以將上面建的那個flex工程的lib下的jar文件拷貝到該工程下的lib目錄下。如下圖2-1BlazeDS的配置文件。圖2-1BlazeDS的配置文件2)然后要加入FlexBlazeDS需要的配置文件。在WEB-INF下新建一個名為flex的文件夾,然后將我們上面建立的那個firstFlex該文件夾下的四個xml文件拷貝到該文件夾下。如圖2-1BlazeDs的jar包。圖2-2BlazeDs的jar包3)最后,修改web.xml文件,加入Flex的配置。做法一個簡單的把上面我們新建的那個flex工程的web.xml的部分代碼拷貝到該文件中。<listener><listener-class>flex.messaging.FlexSession</listener-class></listener><servlet><servlet-name>MessageBrokerServlet</servlet-name><servlet-class>flex.messaging.MessageBrokerServlet</servlet-class><init-param><param-name>services.configuration.file</param-name><param-value>/WEB-INF/flex/services-config.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>MessageBrokerServlet</servlet-name><url-pattern>/messagebroker/*</url-pattern></servlet-mapping>3.配置J2EE服務(wù)器,如下圖2-3Flex配置j2ee。圖2-3Flex配置j2ee4.編寫Flex與Java兩端交互的代碼Java端:在remoting-config.xml配置文件中添加如下代碼段:<destinationid="TKTag"><properties><source>bill.TKBill</source></properties></destination>Flex端:<mx:RemoteObjectid="getKMZJ"destination="kmser" result="getKMZJ_resultHandler(event)"endpoint="localhost:8080/TestOnlineServer/messagebroker/amf"></mx:RemoteObject>Flex文件中RemoteObject的destination值就是Java配置文件中destination的ID,其中source指定到訪問的java類,而RemoteObject的ID和destination的值是一樣的,這里只是命名后在本頁面使用,通過這個ID可以直接訪問java中的方法。2.5ActionScript3.0腳本語言ActionScript最早是開發(fā)Flash的腳本語言,最新版本是3.0,它完全是面向?qū)ο蟮恼Z言,是針對Flashplayer運(yùn)行時環(huán)境的官方編程語言,他在flash容和應(yīng)用程序當(dāng)中實(shí)現(xiàn)了交互性和數(shù)據(jù)處理以與其他許多功能,它從AS1.0到AS2.0一直到現(xiàn)在的AS3.0,雖然從版本上是對以前版本的延續(xù),但在使用的時候需要全新的認(rèn)識,實(shí)際上AS是從底層中心寫的版本,不同的版本在運(yùn)行時也是分開處理的,這個在在的一種巨大的變化,使得播放器的表現(xiàn)能力有大幅度的提高。完全面向?qū)ο蟮腁ctionScript3.0,它的語法和java很類似,變量以與計(jì)算JavaScript相似,它的數(shù)據(jù)綁定又有.NET的風(fēng)格,因此它集成了Java與.NET等語言的優(yōu)點(diǎn),編寫方便簡單,很太容易上手。2.6MySql一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型為了降低總體擁有成本而選擇了MySQL作為數(shù)據(jù)庫[2]。3系統(tǒng)分析3.1系統(tǒng)的可行性分析3.1.1經(jīng)濟(jì)可行性分析經(jīng)濟(jì)可行性分析要估計(jì)項(xiàng)目的成本和效益,分析項(xiàng)目經(jīng)濟(jì)上是否合理,并將費(fèi)用與效益進(jìn)行比較,看是否有利。首先,在線考試系統(tǒng)地實(shí)現(xiàn)的硬件支持只是一臺簡單的計(jì)算機(jī),如今的性能較好的計(jì)算機(jī)的價格已經(jīng)十分低廉。第一,本系統(tǒng)的運(yùn)行可以代替人工進(jìn)行許多繁雜的勞動;第二,本系統(tǒng)的運(yùn)行可以節(jié)省許多資源;第三,本系統(tǒng)的運(yùn)行可以大大的提高老師的工作效率;第四,本系統(tǒng)可以使敏感文檔更加安全。綜上所述,開發(fā)一個在線的考試系統(tǒng)對于高校是很受歡迎的。3.1.2技術(shù)可行性分析技術(shù)可行性是指:根據(jù)現(xiàn)有的技術(shù)條件,能否達(dá)到所提出的要求;所需要的物理資源是否具備,能否得到。針對于本系統(tǒng),應(yīng)用JAVA開發(fā)語言實(shí)現(xiàn)系統(tǒng)。采用MVC架構(gòu)并且結(jié)合數(shù)據(jù)庫軟件SQL完成系統(tǒng)開發(fā),JAVA語言易于編寫修改,流通性廣,交流性強(qiáng)。而SQL更是數(shù)據(jù)庫的主流,在MyEclipse平臺上進(jìn)行開發(fā),前端采用FlashBuilder4.5完成,這個工具有可視化用戶操作的界面,操作起來簡單容易上手,可以在短時間做出一套淡雅并且干凈的界面,并可以省略美工美化的過程。在線開始管理系統(tǒng)各項(xiàng)功能可以完成。3.2系統(tǒng)結(jié)構(gòu)圖本系統(tǒng)從邏輯結(jié)構(gòu)上總共分為三個用戶端,學(xué)生、教師、管理員。學(xué)生端分答卷與交卷兩個模塊;教師端分題庫管理、試卷管理、閱卷與成績統(tǒng)計(jì)四個大的模塊,在試卷管理模塊中有三個關(guān)鍵的子模塊分別是,新建試卷(組卷)、分析試卷、查看試卷模塊;管理員用戶分為用戶管理與系統(tǒng)管理兩個模塊,用戶管理模塊有學(xué)生基本信息的管理與教師基本信息的管理,系統(tǒng)管理模塊分系統(tǒng)配置管理、權(quán)限管理、系統(tǒng)的備份與恢復(fù)四個子模塊。一下是系統(tǒng)的總結(jié)構(gòu)圖。如圖3-1系統(tǒng)結(jié)構(gòu)圖。圖3-1系統(tǒng)結(jié)構(gòu)圖3.3系統(tǒng)流程圖有了系統(tǒng)總的結(jié)構(gòu)圖之后,下來重要的就是系統(tǒng)大的流程圖,系統(tǒng)總的流程圖由各個用戶或者各個模塊為一個流程模塊有各自的輸入輸出,與各模塊流程之間聯(lián)系。為系統(tǒng)的詳細(xì)設(shè)計(jì)以與數(shù)據(jù)庫設(shè)計(jì)做好準(zhǔn)備工作。如圖3-2系統(tǒng)流程圖。圖3-2系統(tǒng)流程圖3.4系統(tǒng)功能需求描述通過系統(tǒng)整體結(jié)構(gòu)的結(jié)構(gòu)與流程的制作,在總體上產(chǎn)品的邊界已經(jīng)限定,下來就是數(shù)據(jù)庫的設(shè)計(jì),和具體的編碼過程,就得對每一個細(xì)節(jié)上詳細(xì)的劃分,將整體的功能劃分成最小的單元功能,如表3-1系統(tǒng)功能需求圖所示。表3-1系統(tǒng)功能需求圖在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)學(xué)生端考試答卷交卷題庫管理添加試題科目管理題庫維護(hù)閱卷批卷匯總成績試卷管理新建試卷分析試卷查看試卷成績統(tǒng)計(jì)總成績報表單科成績報表成績分布用戶管理學(xué)生管理教師管理系統(tǒng)管理系統(tǒng)備份系統(tǒng)恢復(fù)系統(tǒng)配置3.5系統(tǒng)E-R模型根據(jù)系統(tǒng)結(jié)構(gòu)圖與總體流程圖做出系統(tǒng)實(shí)體-聯(lián)系圖,詳細(xì)劃分出系統(tǒng)管理員和用戶之間的聯(lián)系,如圖3-3所示。學(xué)生信息表:學(xué)號,,密碼,性別,年齡,班級教師信息表:教師編號,,年齡,性別,密碼科目信息表:科目編號,科目名稱章節(jié)信息表:章節(jié)編號,章節(jié),章節(jié)名稱題庫表:編號,題干,選項(xiàng),答案,科目編號,題型編號,章節(jié)編號試卷信息表:試卷編號,題庫信息,科目,開考時間,結(jié)束時間交卷信息表:科目,試卷名稱,答案,標(biāo)準(zhǔn)答案,學(xué)號題型表:題型編號,題型名稱考試日志表:編號,開考時間,結(jié)束時間,班級,試卷名稱,考試人數(shù)圖3-3系統(tǒng)E-R模型3.6本章小結(jié)本章對系統(tǒng)做了可行性分析和系統(tǒng)功能需求分析,從問題定義出發(fā)論述該系統(tǒng)預(yù)計(jì)實(shí)現(xiàn)的功能。根據(jù)其功能和后臺管理設(shè)計(jì)出系統(tǒng)實(shí)體——聯(lián)系圖,根據(jù)其數(shù)據(jù)流向設(shè)計(jì)出系統(tǒng)流程圖以與數(shù)據(jù)流圖。這些工作為該系統(tǒng)的總體設(shè)計(jì)奠定了理論基礎(chǔ)。4總體設(shè)計(jì)4.1總體設(shè)計(jì)的目的經(jīng)過系統(tǒng)分析階段的工作,充分明確客戶的需什么,通過總體設(shè)計(jì)可以對后面的是實(shí)施有根本的指導(dǎo)作用??傮w設(shè)計(jì)的目的是選取合理的方案,構(gòu)建基本的功能框剪,為詳細(xì)設(shè)計(jì)做好技術(shù)準(zhǔn)備;初步判斷用戶需求有哪些,根據(jù)需求分成各個模塊;確定相應(yīng)的模塊實(shí)現(xiàn);確定基本的設(shè)計(jì)思路。4.2總體設(shè)計(jì)的容總體設(shè)計(jì)的主要容:系統(tǒng)的功能模塊結(jié)構(gòu)圖、系統(tǒng)的數(shù)據(jù)庫表的設(shè)計(jì),數(shù)據(jù)庫的關(guān)系模型。系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫,為系統(tǒng)建立數(shù)據(jù)庫的表。通過總體設(shè)計(jì)可以很有效的劃分系統(tǒng)邊界,給后面的詳細(xì)設(shè)計(jì)做好充分的準(zhǔn)備。4.2.1總體功能模塊設(shè)計(jì)本系統(tǒng)功能分為前臺和后臺,前臺是學(xué)生端考試使用,后臺是教師對整個系統(tǒng)中的各個功能模塊進(jìn)行操作。前臺功能模塊:學(xué)生考試模塊。學(xué)生自主登陸,考試,提交試卷的過程。后臺功能模塊:用戶管理模塊,試卷管理模塊,題庫管理模塊,系統(tǒng)管理模塊,學(xué)生管理模塊,成績統(tǒng)計(jì)模塊。用戶管理模塊可以下分為主要是對學(xué)生信息的錄入,以與密碼的修改。試卷管理模塊中包括對試卷的分析,組卷,查看試卷。題庫管理主要是錄入新題,并且維護(hù)試題。系統(tǒng)管理模塊是對系統(tǒng)配置的管理,系統(tǒng)的備份與恢復(fù),以與權(quán)限的管理。成績管理模塊就是對學(xué)生的成績匯總,排名,等管理。4.2.2數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)一個成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫是其中一個非常重要的條件和關(guān)鍵技術(shù)。信息管理系統(tǒng)所涉與的數(shù)據(jù)庫設(shè)計(jì)分五個步驟:數(shù)據(jù)庫需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)。在線考試系統(tǒng)就是對多個數(shù)據(jù)表的管理,主要是對題庫的合理管理,其中包括學(xué)生基本信息表,教師基本信息表,題庫信息表,試卷信息表,交卷信息表,科目表,章節(jié)表,題型表。題庫信息表與章節(jié)信息表、科目信息表、題型表,交卷的信息表與學(xué)生基本信息表建立主外鍵關(guān)系,這樣有效的維護(hù)了數(shù)據(jù)的完整性。一下是各個數(shù)據(jù)表的詳細(xì)說明。(1)數(shù)據(jù)庫需求分析的任務(wù)是將業(yè)務(wù)管理單證流化為數(shù)據(jù)流,劃分主題之間的邊界,繪制出DFD圖,并完成相應(yīng)的數(shù)據(jù)字典。(2)概念設(shè)計(jì)的任務(wù)是從DFD出發(fā),繪制出該主題的實(shí)體-關(guān)系圖,并列出各個實(shí)體與關(guān)系的綱要表。(3)邏輯設(shè)計(jì)的任務(wù)是從E-R圖與對應(yīng)的綱要表出發(fā),確定各個實(shí)體與關(guān)系的表名屬性。(4)物理設(shè)計(jì)的任務(wù)是確定所有屬性的類型、寬度與取值圍,設(shè)計(jì)出基本表的主鍵,將所有的表名與字段名英文化,實(shí)現(xiàn)物理建庫,完成數(shù)據(jù)庫物理設(shè)計(jì)字典。根據(jù)系統(tǒng)功能設(shè)計(jì)的要求以與功能模塊的劃分,數(shù)據(jù)庫需要的存儲的信息如下:學(xué)生信息表(學(xué)號,,密碼,性別,年齡,班級)教師信息表(教師編號,,年齡,性別,密碼)科目信息表(科目編號,科目名稱)章節(jié)信息表(章節(jié)編號,章節(jié),章節(jié)名稱)題庫表(編號,題干,選項(xiàng),答案,科目編號,題型編號,章節(jié)編號)試卷信息表(試卷編號,題庫信息,科目,開考時間,結(jié)束時間)交卷信息表(科目,試卷名稱,答案,標(biāo)準(zhǔn)答案,學(xué)號)題型表(題型編號,題型名稱)考試日志表(編號,開考時間,結(jié)束時間,班級,試卷名稱,到勤人數(shù))學(xué)生信息表表4-1學(xué)生信息表(studentinfo)字段名稱類型長度備注SNOVARCHAR8PKSNAMEVARCHAR12PASSWORDVARCHAR8CLASSVARCHAR12SSEXVARCHAR2SAGEINT2教師信息表表4-2教師信息表(teacherinfo)字段名稱類型長度備注TEANOVACHAR8PKTEANAMEVARCHAR12TEASEXVARCHAR2TEAPASSWORDVARCHAR8TEAAGEINT2PHOTOBLOB科目表給課目單獨(dú)建表的好處是為了方便對數(shù)據(jù)的檢索,更重要的是方便了對題型的管理,這樣就可以實(shí)現(xiàn)多科目的考試與管理表4-3科目表(KeMuInfo)字段名稱類型長度備注KMNOVARCHAR8PKKMNAMEVARCHAR50章節(jié)表章節(jié)表的功能是對題庫中的試題進(jìn)行分組管理,利于組卷的實(shí)施,防止抽取的試題集中,并與科目信息表建立主外鍵關(guān)系,可以同步數(shù)據(jù),把科目的信息與章節(jié)的信息緊緊綁在一起,既可以維護(hù)數(shù)據(jù)的完整性并且可以方便更新數(shù)據(jù)。表4-4章節(jié)表(zhangjie)字段名稱類型長度備注ZJNOVARCHAR8PKZJSVARCHAR8ZJNAMEVARCHAR50KMNOINT8FKEMUINFO外鍵題庫表題庫表是對所有試題的管理,利用科目與章節(jié)對題進(jìn)行分組管理,分別與科目信息表,章節(jié)信息表,題型信息表建立主外鍵關(guān)系。表4-5題庫信息表(Tinfoil)字段名稱類型長度備注TKNOVARCHAR8PKTKMAINVARCHAR500TKXUANXVARCHAR500TKANSERVARCHAR500TKTYPEINT8TX表外鍵TKZJINT8TKINFO外鍵KMNOINT8KEMEINFO外鍵試卷信息表試卷信息表用來存儲組卷后的試卷,題庫以字符串拼接的形式存儲,這樣可以加快查詢的速度。表4-6試卷信息表(shijuaninfo)字段名稱類型長度備注SJNOVARCHAR8PKSJNAMECARCHAR50SJTKVARCHAR500STARTTIMEDATEENDTIMEDATE交卷信息表交卷信息表存儲的是學(xué)生考完試提交之后未批改的試卷表4-7交卷信息表(JIAOJINFO)字段名稱類型長度備注IDINTPK(自增)SNOArcher8學(xué)生表外鍵KMNOVarchar8科目表外鍵SJNOVarchar8試卷表外鍵ANSERVarchar500FENVarchar500題型表表4-8題型表(STtype)字段名稱類型長度備注STNOINTPK(自增)STNAMECARCHAR12考試日志表考試日志表示記錄考試日志。用來查看某此考試的應(yīng)到人數(shù)與未到人數(shù)。表4-9考試日志表(KSLog)字段名稱類型長度備注IDINTPK(自增)STARTTIMEDATEENDTIMEDATENUMINT6CLASSVARCHAR12SJNAMEVARCHAR504.3系統(tǒng)開發(fā)環(huán)境設(shè)計(jì)系統(tǒng)開發(fā)工具采用MyEclipse9.1企業(yè)級工作平臺。利用它可以在數(shù)據(jù)庫和Web開發(fā)、發(fā)布,以與應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。這個工具繼承了多種語言的類庫,有很多友好的代碼提示,大大提高了項(xiàng)目的開發(fā)速度。系統(tǒng)后臺數(shù)據(jù)庫采用Mysql數(shù)據(jù)庫管理系統(tǒng)。首先,Mysql數(shù)據(jù)庫是輕量級的數(shù)據(jù)庫,可以提高檢索的性能,并且簡單,容易操作。本系統(tǒng)是C/S系統(tǒng),開發(fā)環(huán)境是在Windows7下進(jìn)行的,Tomcat6.0能提供好的Web服務(wù)器支持。同時我們使用的基礎(chǔ)語言是Java,這種面向?qū)ο蟮恼Z言,可以靈活的使用在編程中,界面用flex圖形化工具開發(fā)節(jié)本是ActionScript3.0,這種語言與java是無縫結(jié)合的,兩者交互方便。4.4本章小結(jié)總體設(shè)計(jì)階段的基本目的是用比較抽象概括的方式確定系統(tǒng)如何完成預(yù)定的任務(wù),通過總體功能模塊和數(shù)據(jù)庫的設(shè)計(jì),可以在腦海中粗略的規(guī)劃出軟件設(shè)計(jì)的方案,模塊功能為編寫程序做好準(zhǔn)備。5詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)5.1前臺功能前臺是學(xué)生考試端,完成考試的過程。在主界面現(xiàn)實(shí)考試的起始時間,考試時長,以與結(jié)束時間。結(jié)束考試有兩種情況,一種是學(xué)生自己提交試卷,一種是考試時間到的時候,系統(tǒng)自動交卷。登陸界面要求簡潔,大方,一目了然。有友好具體的錯誤提示,主界面必須顯示考試的倒計(jì)時時間與當(dāng)前時間。學(xué)生的界面要求:清晰簡潔,易操作;界面全屏顯示;禁止切換、放大、縮小等快捷鍵;利用分頁緩存等技術(shù)提高響應(yīng)速度;優(yōu)化連接代碼提高系統(tǒng)整體的性能。5.2.1登陸模塊設(shè)計(jì)在學(xué)生端登陸的界面利用StringValidator給用戶友好的登陸錯誤提示,在登陸出粗的時候,顯示紅色邊框以與顯示紅色的錯誤提示信息,在過程中實(shí)現(xiàn)3D的動畫效果,主界面場景的切換要求淡雅,流暢。顯示效果如圖5-1與圖5-2所示。圖5-1登陸界面設(shè)計(jì)圖5-2登陸3D效果添加錯誤提示的代碼:<mx:StringValidatorid="username"source="{txtuname}"property="text"required="true"requiredFieldError="用戶名不能為空!"trigger="{btnlogin}"/><mx:StringValidatorid="passw"source="{txtpass}"property="text"required="true"requiredFieldError="密碼不能為空!"trigger="{btnlogin}"/>source:指定監(jiān)聽的空間呢對象;property:對象顯示的類型;requiredFieldError:提示的錯誤信息;trigger:觸法的控件對象;3D開門效果代碼塊:protectedfunctionlogin1_changeHandler(event:Event):void {vare:Gate=newGate(lo); e.siblings=[ma]; e.mode="OPEN"; e.direction="LEFT" e.duration=1500; e.play(); }Gate:封裝3D開門效果的類,傳遞當(dāng)前的參數(shù);Siblings:跳轉(zhuǎn)到指定的視圖;Mode:設(shè)置,效果的類型,open為開門效果,close為關(guān)門效果;Direction:設(shè)置旋轉(zhuǎn)的中心點(diǎn)為Flet左邊;Duration:設(shè)置播放的時間;Play:開始播放;全屏顯示代碼塊:publicfunctionfullScreen():void{stage.displayState=StageDisplayState.FULL_SCREEN; }Stage:獲取整個舞臺對象;displayState:獲取舞臺顯示的狀態(tài)屬性;StageDisplayState.FULL_SCREEN:設(shè)置成全屏顯示模式;淡隱淡出效果:<mx:Fadeid="myEffect"duration="700"/>Fade:淡隱淡出特效的類;duration:指定效果播放的時間長度;5.2.2打開試卷功能模塊設(shè)計(jì)打開試卷就是將試卷中的試題顯示到學(xué)生端的操作界面,一次性全部打開的話,由于數(shù)據(jù)量過大,可能造成卡屏的現(xiàn)象,降低了用戶的體驗(yàn)度,為了能快速,流暢的打開試卷,試卷應(yīng)當(dāng)按照題型,分組打開,相當(dāng)是分頁顯示的功能。界面如圖5-3所示。如圖5-3打開試卷5.2.3交卷功能模塊設(shè)計(jì)交卷的過程就是把考生的答案按照試卷試題的順序,一提醒分組,將答案按照次序組織起來保存在數(shù)據(jù)庫中,選擇題又系統(tǒng)自動閱卷完成。并提交錯誤的試題編號。5.2后臺功能5.2.1題庫管理題庫管理指的就是對試題的錄入,查詢與修改,以與對題型,科目,科目章節(jié)的管理。本系統(tǒng)不是單一的考試系統(tǒng),可以實(shí)現(xiàn)任意一種科目的考試,只需要添加科目,在新建試卷的時候既可以選擇新加的科目,并且對每一科目有更細(xì)致的劃分,通過章節(jié)對試題的分組,還有試卷的題型也可以在組卷的時候手動選擇,可以通過界面添加新的題型。1.添加試題 添加試題就是老師往題庫里面錄入考題的過程,并設(shè)置一些必要的屬性。添加試題采用選項(xiàng),答案拼接的形式的存儲,這樣可以實(shí)現(xiàn)在一個界面對任意一種題型進(jìn)行錄入。錄入題型之前先選擇科目,章節(jié),題型之后,判斷是否是選擇題,如果是,則在選項(xiàng)的框中輸入選項(xiàng)以“|”分割開,如果不是選擇題則輸入選項(xiàng)的文本框?yàn)椴豢删庉嫚顟B(tài),以免防止用戶非法輸入,而造成錯誤。如下圖所示5-4添加試題圖5-4添加試題前端關(guān)鍵代碼ActionScript腳本如下:/*1:選擇2:填空*/protectedfunctionsave_clickHandler(event:MouseEvent):void {varall:Array=Validator.validateAll([tMa,tAnser]);if(all.length==0){vartk:TKInfo=newTKInfo();//科目varkmname:String=TextkmName.selectedItem;varkmno:String;for(vari:uint=0;i<kms.length;i++){varkm:KeMu=kms[i]asKeMu;if(kmname==km.KMName){ kmno=km.KMNo; } }//章節(jié)vararr:Array=TextkmZJ.selectedItem.split("_");varzhangj:String=arr[0];//難度系數(shù)varxishu:Number=xis.value;//題型varty:int=tx.selectedIndex+1;//題干varTSTmain:String=testMain.text;//選項(xiàng)說明varXSM:String=xuanxiang.text;//答案varAnser:String=ans.text;if(tx.selectedIndex!=0){ XSM="_";} tk.TKMain=TSTmain;tk.TKAnser=Anser; tk.TKType=ty; tk.TKZJ=zhangj; tk.TKKM=kmno; tk.TKXuanX=XSM; tk.TKFZ=FZ.value; tk.TKXS=xishu; addTt.addTest(tk);} }2.題型管理題型管理就是系統(tǒng)中的題型不能滿足用戶的需要時,用戶可以通過界面添加新的題型,保存之后既可以使用。3.科目管理科目管理就是考了一門新課之后,系統(tǒng)中沒有這門課的信息,則通過用戶界面,添加新的科目信息,并且同時添加這門課程的所有章節(jié)。可以實(shí)現(xiàn)修改,刪除操作。添加科目圖示如圖5-5(a)所示,輸入科目的名稱單擊[添加]按鈕,提交成功之后,再輸入章節(jié)與章節(jié)的名稱;然后打開科目管理之后顯示所有的科目列表如圖5-5(b)所示,單擊[刷新]按鈕可以顯示新添加的科目信息,單擊按鈕可以查看本科目的所有章節(jié)信息如圖5-5(c)圖5-5(a)添加科目圖5-5(b)科目列表圖5-5(c)章節(jié)列表4題庫維護(hù) 題庫維護(hù)就是考試之后,通過試卷分析,發(fā)現(xiàn)某些試題的難度系數(shù)參數(shù),偏高或者偏低,在這里可以調(diào)整試題的難度系數(shù)到一個合理的數(shù)字?;蛘呤悄骋徽鹿?jié)的某些試題有錯誤或者缺陷,都可以通過題庫維護(hù)來修改實(shí)現(xiàn)。如圖5-6所示。圖5-6調(diào)整試題5.2.2試卷管理題庫管理包括對歷史試題的管理增刪改查,組卷以與試卷的分析,可以分為以下幾個小部分:如圖5-7試卷管理總共能所示圖5-7試卷管理子功能1新建試卷 新建試卷就是老師組卷的過程,由老師完成,每一套試卷都有各自的題型以與卷面的分值,這些參數(shù)都在組卷之前完成。組卷的過程分為兩種方式完成:一是自動組卷,就是,由組卷老師在每章節(jié),每種題型,以與不同難度系數(shù)作為檢索的關(guān)鍵字,設(shè)置好這些參數(shù)之后,隨即在題庫里面抽題,這樣可以避免隨即抽取的試題出現(xiàn)在同一章節(jié),或偏難,變簡單的問題;如圖5-8自動組卷。圖5-8自動組卷二是手動組卷,手動組卷就是不用隨即抽題的方式選題,在搜索到的各章節(jié)試題中勾選試題,然后再統(tǒng)一組成試卷,這種抽題的方式雖然麻煩,但能最大的滿足老師組卷的目的。如圖5-9手動組卷圖5-9手動組卷2分析試卷分析試卷就是老師通過學(xué)生的考試情況對試卷的分析,以與了解學(xué)生對科目知識點(diǎn)的掌握情況,某一道題的出錯率,如果出錯率在85%以上,則提示用戶這道題的難度系數(shù)偏低,要求更改試題的難度系數(shù),如果答對率在85%以上則相反提示,是不是難度系數(shù)偏低,要求更改。教師可以取消默認(rèn),也可修改試題的這些信息,分別以報表和餅狀圖顯示。這樣老師可以清楚掌握學(xué)生的學(xué)習(xí)的薄弱點(diǎn),方便后面補(bǔ)導(dǎo)與總結(jié)。3查看試卷查看試卷就是對庫中的試卷在用戶界面上以表格的形式顯示,打開試卷之后,可以對題目進(jìn)行增加、刪除、修改、查看等操作。如果一套試題的數(shù)據(jù)量過大,在初始化界面的時候應(yīng)當(dāng)加上友好的進(jìn)度條,提示用戶能耐心的等候。查看試卷為了避免由于加載的數(shù)據(jù)量過大而造成性能上的底下,應(yīng)當(dāng)在表的上面提供科目、試卷名稱、章節(jié)信息、題型或者難度系數(shù)的下拉框,以這些數(shù)據(jù)作為索引的條件對大的數(shù)據(jù)量進(jìn)行過濾,這樣即可以根據(jù)的客戶的具體需求分類的選擇試題,而且提高了系統(tǒng)的性能,加快了數(shù)據(jù)加載的速度。5.2.3成績統(tǒng)計(jì)1.總成與報表顯示所有學(xué)生各科目的各科成績和總成績,老師可以通過設(shè)置科目,班級來過濾數(shù)據(jù)顯示指定的成績或者學(xué)生,并可以按照成績或者學(xué)號排序。默認(rèn)按照學(xué)號排序,可以實(shí)現(xiàn)按照成績,降序或者升序排序。如下圖所示。2.單科成績報表老師查詢某一單科的成績報表,通過過濾表格,顯示這一科目的不與格的學(xué)生,或者指定某一分?jǐn)?shù)段的學(xué)生,以與排序。如圖5-10所示單科成績。圖5-10單科成績3.不與格成績報表不與格成績報表,首先以表格的形式顯示,可以通過科目,班級下拉框直接指定到需要補(bǔ)考的學(xué)生,顯示每個學(xué)生的成績,并且添加打印功能或者保存成本地的word文檔存儲在本地磁盤上。成績分布成績分布以兩種形式顯示分別是可打印的表格形式和圖形化顯示。分別包括以下一種形式:每個學(xué)生各科目考試成績的分布每個班級各科目的總成績分布每個學(xué)生單個科目中各個章節(jié)的成績分布每個學(xué)生單個科目中各個題型的成績分布班級成績分布,包含不與格(低于60分)、良好(60-80)、優(yōu)秀(80-100)圖5-11成績分布5.2.4系統(tǒng)管理1.系統(tǒng)配置考試系統(tǒng)的數(shù)據(jù)都是存放在遠(yuǎn)程服務(wù)器的數(shù)據(jù)庫中的,所以對服務(wù)器系統(tǒng)配置的管理是必須的,客戶端要與服務(wù)器交互所以客戶端也應(yīng)有系統(tǒng)配置的功能。系統(tǒng)配置包括IP的設(shè)定,端口號的設(shè)定,以免更換服務(wù)器,還包括對數(shù)據(jù)庫驅(qū)動地址的管理,數(shù)據(jù)庫名的管理,以后有可能的話可以方便的更換其他數(shù)據(jù)庫哦,只在界面修改即可。如圖5-12所示。圖5-12系統(tǒng)配置2.系統(tǒng)備份與恢復(fù)系統(tǒng)的備份與恢復(fù)就是對數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行本地保存與恢復(fù)。可以隨時的手動選擇本分或者全部數(shù)據(jù)進(jìn)行備份,也可以設(shè)定一個時間段或者時間點(diǎn),定期由系統(tǒng)自動備份數(shù)據(jù),這樣可以避免數(shù)據(jù)的丟失,提高數(shù)據(jù)的安全性。5.3技術(shù)特點(diǎn)前端的ActionScript3.0與后臺的java語言都采用相似的MVC設(shè)計(jì)思想將繁多的代碼分包管理,提高了代碼的可讀性與復(fù)用性。如下圖是前端的“包文件”說明。圖5-13mvc模式默認(rèn)包:包含主類程序的入口。Remove包:包含所有事件類。Server包:訪問遠(yuǎn)程服務(wù)器的類,每一個類都是一個單例。View包:視圖層,包含所有的界面與mxml文件以與皮膚、css樣式、圖片等。Vo包:相當(dāng)是java中的entity每一個as類都是一個實(shí)體對象用來獲取和存儲數(shù)據(jù)。server包下編寫單例Server類指定訪問的地址packageserver{ importmx.rpc.remoting.RemoteObject; [Bindable] publicclassServer { privatevar_asd:String="localhost:8080/TestOnlineServer/messagebroker/amf"; publicfunctiongetasd():String { return_asd; } publicfunctionsetasd(value:String):void { _asd=value; } publicfunctionServer() { } }}5.4本章小結(jié)詳細(xì)設(shè)計(jì)階段是實(shí)現(xiàn)產(chǎn)品的過程,由程序員編寫完成。根據(jù)定義文檔,嚴(yán)格遵守需求文檔的定義說明以與用戶的核心要求,來實(shí)現(xiàn)產(chǎn)品的各個模塊的功能。編寫這個詳細(xì)設(shè)計(jì)文檔對于編碼過程有很重要的作用,可以多個人參照詳細(xì)設(shè)計(jì)文檔團(tuán)隊(duì)開發(fā),大大提高了產(chǎn)品的開發(fā)效率并且縮短了產(chǎn)品的開發(fā)周期。為后面的產(chǎn)品測試鋪下了很有效的查找數(shù)據(jù)。6軟件測試6.1軟件測試的定義測試是為了發(fā)現(xiàn)程序的錯誤而執(zhí)行程序的過程,成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。由于測試的目標(biāo)是暴露程序中錯誤,從心理學(xué)角度看,由程序的編寫者自己進(jìn)行測試是不恰當(dāng)?shù)?,因此在綜合測試階段通常由其他人員組成測試小組來完成測試工作。測試階段的根本任務(wù)是發(fā)現(xiàn)并改正軟件中的錯誤。設(shè)計(jì)測試方案是測試階段的關(guān)鍵技術(shù)問題,其基本目標(biāo)是選用盡可能少的高效測試數(shù)據(jù),作到盡可能完善的測試,從而盡可能多地發(fā)現(xiàn)軟件中的錯誤。6.2常用的測試方法最常用的測試方法有兩種:黑盒測試和白盒測試。根據(jù)需求分析檢查產(chǎn)品應(yīng)該具有的功能,可以通過測試來檢驗(yàn)是否每個功能都能正常使用,這種方法稱為黑盒測試。如果知道產(chǎn)品部工作過程,可以通過測試來檢驗(yàn)產(chǎn)品部動作是否按照規(guī)格說明書的規(guī)定正常運(yùn)行,這種方法稱為白盒測試。本系統(tǒng)采用的是黑盒測試方法,只是測試功能是否可以正常使用。6.3系統(tǒng)的測試一般來說,有三種調(diào)試方法可以采用:蠻干法;回溯法;原因排除法。無論采用什么方法,調(diào)試的根本目標(biāo)都是尋找軟件錯誤的原因并改正之。這個目標(biāo)是通過把系統(tǒng)地評估,直覺和運(yùn)氣組合起來實(shí)現(xiàn)的。軟件測試是在軟件投入運(yùn)行之前,對軟件需求分析,設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。它是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,或者說軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的部結(jié)構(gòu)而精心設(shè)計(jì)一批測試?yán)樱▽ο到y(tǒng)進(jìn)行操作,看是否能有其預(yù)期的輸出結(jié)果)并利用這些測試?yán)尤ミ\(yùn)行程序,以發(fā)現(xiàn)程序錯誤的過程。軟檢測試是軟件交給用戶使用之前一個必不可少的過程。它在軟件開發(fā)過程中橫跨兩個階段:通常在編寫出每個模塊后就對它做單元測試,模塊的編寫者與測試者是同一個人。在每個模塊都完成單元測試之后,對軟件系統(tǒng)進(jìn)行各種綜合測試,通常由專門的測試人員承擔(dān)這項(xiàng)工作。6.4模塊測試也叫單元測試,目的是保證每一個模塊作為一個單元能正確運(yùn)行,本測試所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計(jì)的錯誤,主要評價模塊的下述五個特點(diǎn):模塊接口

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論