題庫技術(shù)Web技術(shù)數(shù)據(jù)庫技術(shù)實現(xiàn)基于Web的題庫系統(tǒng)樣本_第1頁
題庫技術(shù)Web技術(shù)數(shù)據(jù)庫技術(shù)實現(xiàn)基于Web的題庫系統(tǒng)樣本_第2頁
題庫技術(shù)Web技術(shù)數(shù)據(jù)庫技術(shù)實現(xiàn)基于Web的題庫系統(tǒng)樣本_第3頁
題庫技術(shù)Web技術(shù)數(shù)據(jù)庫技術(shù)實現(xiàn)基于Web的題庫系統(tǒng)樣本_第4頁
題庫技術(shù)Web技術(shù)數(shù)據(jù)庫技術(shù)實現(xiàn)基于Web的題庫系統(tǒng)樣本_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

中文摘要本文重要研究試題庫技術(shù)、Web技術(shù)、數(shù)據(jù)庫技術(shù),摸索將這三種技術(shù)有機結(jié)合,實現(xiàn)基于Web題庫系統(tǒng)。該系統(tǒng)可以和學校校園網(wǎng)或其他基于Web應用結(jié)合在一起,滿足教師出題、學生在線做題和考試需要。本文對題庫系統(tǒng)背景、概念、理論和技術(shù)進行了概述,比較分析了其她各種試題庫系統(tǒng),并在此基本上提出了通用性、網(wǎng)絡化新特點,從而實現(xiàn)了此試題庫管理系統(tǒng)。研究了客戶機/服務器模式、數(shù)據(jù)庫系統(tǒng)、PHP等有關(guān)理論和技術(shù),給出了一種基于Web題庫系統(tǒng)實現(xiàn)方案。系統(tǒng)采用B/S模式,顧客采用瀏覽器與系統(tǒng)實現(xiàn)交互。應用層由Web服務器和數(shù)據(jù)庫構(gòu)成。系統(tǒng)采用PHP作為重要開發(fā)語言,可實現(xiàn)試題錄入,考卷自動生成、學生在線考試等功能。該系統(tǒng)由題庫管理系統(tǒng)和在線考試子系統(tǒng)兩某些構(gòu)成。核心詞B/S構(gòu)造;題庫系統(tǒng);自動組卷AbstractThisdocumentisabouttoresearchexaminationquestiondatabasetechnology,webtechnology,databasetechnologyandexplorethecombinationofthesethreekindsoftechnologytoachieveweb-baseexaminationdatabasesystem.Thesystemisabletointegratewiththecampusnetworkorotherweb-baseapplicationtomeettherequirementofmakeexaminationquestionsbyteachersandthestudentsonlineself-test.Thispapersummarizestheexaminationquestiondatabasesystem’sbackground,concept,theoryandtechnology,comparativelyanalysestheexistingexaminationquestiondatabasesystem,andbasedonthisproposesthenewgeneralandnetworkcharacteristic,thusimplementsthesystem.Itmakesresearchaboutclient/servermodel,databasesystem,PHPandotherrelatetheoriesandtechnologies,givesaproposaltofulfillweb-baseexaminationquestiondatabasesystem.ThissystemadoptsB/Smode,andtheuseraccessesthesystemthroughabrowser.Theapplicationlayeriscomposedofwebserveranddatabase.SystemusersPHPasthemainprogramlanguage,anditcanfulfillthefunctionalityofonlinequestioninput,automaticgenerationofthetestpapers,onlineexaminationetc.Thissystemiscomposedoftwoparts:questiondatabasemanagementsubsystemandonlinetestsubsystem.Keywords:B/Sstructure;examinationquestiondatabasesystem;automatictestpapercombinationKeyWords:B/Sstructure;examinationquestiondatabasesystem;automatictestpapercombination

目錄中文摘要 1Abstract 2目錄 3第一章引言 51.1研究背景及意義 51.2研究現(xiàn)狀及趨勢 71.3論文構(gòu)造 9第二章系統(tǒng)分析 92.1可行性分析 92.1.1技術(shù)分析 92.1.2應用分析 92.2系統(tǒng)需求分析 102.2.1功能需求 102.2.2顧客需求 102.2.3性能需求 102.3本章總結(jié) 11第三章系統(tǒng)總體設(shè)計 113.1系統(tǒng)功能模塊設(shè)計 113.1.1后臺管理系統(tǒng) 113.1.2前臺子系統(tǒng) 123.2系統(tǒng)運營模式 133.2.1MVC架構(gòu)特性 143.2.2題庫系統(tǒng)構(gòu)造 153.3系統(tǒng)數(shù)據(jù)庫設(shè)計 153.3.1數(shù)據(jù)庫需求分析 153.3.2數(shù)據(jù)庫安全 163.3本章總結(jié) 16第四章系統(tǒng)詳細設(shè)計 164.1開發(fā)環(huán)境和開發(fā)工具 164.1.1開發(fā)環(huán)境搭建 17安裝MySQL 17安裝Apache 17安裝PHP 18安裝CodeIgniter 184.1.2重要開發(fā)工具 194.2系統(tǒng)數(shù)據(jù)庫表構(gòu)造設(shè)計 194.3系統(tǒng)重要模塊設(shè)計 234.3.1系統(tǒng)前端實現(xiàn) 23首頁 23顧客注冊與登陸 23在線考試 26資料上傳與下載 274.3.2系統(tǒng)后端實現(xiàn) 29后端首頁實現(xiàn) 29登入登出 30試題管理 31試卷管理 33考卷管理 36上傳管理 38科目管理和知識點管理 39顧客和顧客組管理 414.4本章總結(jié) 43第五章系統(tǒng)測試 445.1系統(tǒng)特色 445.2系統(tǒng)測試 445.2.1系統(tǒng)測試工具 445.2.2系統(tǒng)測試籌劃 445.2.3測試用例 45登陸模塊測試 45試題管理測試 45試卷管理測試 45在線考試測試 455.2.4測試總結(jié) 465.3本章總結(jié) 46第六章結(jié)束語 46致謝 48第一章引言1.1研究背景及意義在學校教學工作中,考試是其中重要構(gòu)成某些。通過考試,教師可以理解學生學習狀況,并借此理解教學效果,改進教學辦法,提高教學質(zhì)量;學生則可以通過考試理解自己對內(nèi)容掌握狀況,有目進行學習。同步,考試也是衡量人能力重要手段,選拔人才重要原則?,F(xiàn)階段,學校與社會上各種考試大都采用老式考試方式,在此方式下,組織一次考試至少要通過人工出卷、文印試卷、考試安排、學生考試、收集試卷、人工閱卷、成績評估和分析試卷等一系列環(huán)節(jié).。顯然,隨著各種考試類型不斷增長和考試規(guī)定不斷提高,學校教師們工作量也將越來越大;并且,當考生數(shù)量比較大時,其閱卷工作及對考生考試成績進行記錄工作也將是一件十分瑣碎并且容易出錯事情。對于組卷辦法,當前教師大多沿用老式方式,即經(jīng)驗型手工命題方式進行命題,供命題教師選取試題“資料庫"是某些參照書和習題集,試題取舍取決于命題者對教學內(nèi)容,教學目的理解和對學生學習水平預計,命題過程以教學經(jīng)驗為參照系,因而主觀結(jié)識上局限性、隨意性難以避免??梢哉f,老式考試方式己經(jīng)不能適應當代考試需要。同步,當代社會信息爆炸,知識更新速度日益加快,舊知識傳播途徑已經(jīng)滿足不了人們需求,這就迫切需要一種全新知識傳播方式。隨著計算機技術(shù)、網(wǎng)絡通信技術(shù)和多媒體技術(shù)飛速發(fā)展和廣泛普及,為人們提供了一種巨大資源共享空間。人們越來越依托計算機網(wǎng)絡作為彼此合伙、交流重要渠道。因而,隨著計算機及其網(wǎng)絡技術(shù)飛速發(fā)展和社會信息化水平不斷提高,計算機網(wǎng)絡技術(shù)在教誨測量和評價過程中得到了廣泛應用。特別是計算機輔助評價(ComputerAssistantAssessment,簡稱CAA)應用,不但帶來課程教學內(nèi)容、教學辦法、教學手段變化,并且引起了課程評價內(nèi)容、評價辦法和形式以及評價手段深刻變革。計算機考試及網(wǎng)上考試系統(tǒng)得到了廣泛應用和發(fā)展,各種考試系統(tǒng)應勢產(chǎn)生,在教學質(zhì)量監(jiān)控中發(fā)揮著越來越重要作用。當前,全球大多數(shù)大學都擁有自己網(wǎng)站,其中許多學校推出了網(wǎng)絡教誨課程。歐美國家網(wǎng)絡教誨走在世界前列,具備相稱規(guī)模。在國內(nèi),教誨部提出實行“當代遠程教誨工程”,形成開放式教誨網(wǎng)絡,構(gòu)建終身學習體系。網(wǎng)絡教誨發(fā)展戰(zhàn)略因而己成為一種有待探討重大課題。清華大學、北京郵電大學、浙江大學等高等院校進行了當代遠程教誨試點。如今,這些試點學校初步摸索出網(wǎng)絡教誨辦學模式,開發(fā)了一批網(wǎng)上課程和教誨資源,初步形成了校內(nèi)基于校園網(wǎng)多媒體教誨與校外遠程教學互相融合辦學格局。近年來,人們始終在研究和改進如何運用高新技術(shù),客觀、精確地評估人知識和能力水平。隨著虛擬大學蓬勃興起,人們也迫切規(guī)定運用既有資源來創(chuàng)立題庫并進行在線考試,以減輕教師工作承擔及提高工作效率,與此同步也提高了考試質(zhì)量,從而使考試更趨于公證和客觀,增長了學生模仿練習機會,激發(fā)了學生學習興趣。Internet技術(shù)發(fā)展使得考試技術(shù)手段和載體發(fā)生了劃時代變化,計算機技術(shù)、網(wǎng)絡技術(shù)和考試理論日漸成熟,使考試從老式紙筆考試到計算機輔助考試再發(fā)展到基于Web在線考試成為現(xiàn)實。Internet開放性、分布性特點和基于Internet巨大計算能力使得考試突破了時間和空間限制。任何人都可以隨時隨處開始一場考試,檢查自己知識和水平。固然在比較正式考試中,還是需要進行嚴格組織,但比較老式考試,其形式可以更加靈活多樣。此外,運用在線題庫系統(tǒng)可以實現(xiàn)更高檔考試功能,更好地達到考試目。例如自適應考試、多媒休考試等,都可以在遠程考試系統(tǒng)中實現(xiàn)。本課題重要目的是設(shè)計并實現(xiàn)一種基于Web在線題庫系統(tǒng),為本學院教學考試提供服務,但愿能在有關(guān)考試中發(fā)揮高效、便捷作用,從而減輕教師工作量。同步也為解決遠程教誨中遠程考試問題提供參照。從以便性、安全性、通用性、可擴展性及高效率等多方面入手,克服老式網(wǎng)上考試系統(tǒng)局限性,提高軟件系統(tǒng)工程質(zhì)量。系統(tǒng)采用B/S構(gòu)造,應用程序和數(shù)據(jù)庫之問接口采用了PHP技術(shù),通過PHP提供MySQL擴展互連。系統(tǒng)具備完善考試與管理功能,系統(tǒng)運營環(huán)境可以是Internet,也可以是校園網(wǎng)教室,系統(tǒng)擴展可以應用于考試,也可用于學生尋常在線自測練習等方面,對學生應考級別考試復習有較好實踐指引意義。1.2研究現(xiàn)狀及趨勢當前類似題庫系統(tǒng)或考試系統(tǒng)有兩類:一類是基于局域網(wǎng)網(wǎng)絡系統(tǒng),一類是基于Web網(wǎng)絡系統(tǒng)?;诰钟蚓W(wǎng)網(wǎng)絡系統(tǒng)通慣用于比較正式考試,如計算機級別考試、職業(yè)技能考試、行業(yè)考試等;基于Web網(wǎng)絡系統(tǒng)通慣用于考生自測或網(wǎng)絡教學系統(tǒng)。計算機輔助考試在美國誕生,歷經(jīng)近年,已經(jīng)在國外得到了廣泛應用。國外有許多專門考試機構(gòu)采用計算機輔助測試對參加考核對象進行評價。當前,經(jīng)濟發(fā)達國家己經(jīng)建立了完善考試專業(yè)機構(gòu)。各機構(gòu)也都依照自己所承擔職能,建立起了大型題庫。如“律師資格考試”,“GRE考試",以及計算機方面“CiSCO職業(yè)資格認證”、“Microsoft職業(yè)資格認證”、“計算機級別考試"等。在英國已經(jīng)實現(xiàn)了英語資格考試網(wǎng)上學習和水平認證全過程。在某些國家,試題庫系統(tǒng)已應用于每一種教學階段,在某些大學、中學校園里,考試、作業(yè)、遠程教誨多方面應用,為各級人才培養(yǎng)提供了一種良好平臺,收到了較好效果。國內(nèi)在恢復高考制度后來,隨著高考原則化實行,特別是計算機技術(shù)應用迅速發(fā)展,為題庫建設(shè)提供了基本條件。80年代后期,浮現(xiàn)了多所學?;蛐袡C構(gòu)聯(lián)合開發(fā)試題庫局面,同步,也浮現(xiàn)了許多其他學科試題庫。90年代,政府部門在全國范疇內(nèi)有籌劃、有組織、系統(tǒng)地開展CAI教學與國家試題庫建設(shè)。但由于種種因素,當前適合網(wǎng)絡環(huán)境下通用型試題庫系統(tǒng)卻不多。因此,為了提高考試質(zhì)量和增進教學水平提高,實現(xiàn)教考分離,開發(fā)基于Web平臺題庫系統(tǒng)具備非常重要韻意義。國內(nèi)政府非常注重當代遠程教誨工作,在全國教誨考試科研工作“十五”規(guī)劃中,明確規(guī)定教誨考試科研工作要在教誨評價體系中發(fā)揮重要作用,在考試研究領(lǐng)域創(chuàng)造出與國內(nèi)教誨事業(yè)蓬勃發(fā)展相適應成果,以全面提高教誨考試質(zhì)量,為改革和完善教誨考試制度工作服務。北京師范大學當代教誨技術(shù)研究所何克抗、余勝泉研究開發(fā)成功基于Web通用題庫系統(tǒng)。它具備老式單機考試系統(tǒng)不具備某些特點:集中管理,共享使用。為了保持題庫高質(zhì)量,題庫由統(tǒng)一權(quán)威機構(gòu)來進行維護和管理。開放使用,廣泛征集試題和測試樣本。顧客只要通過瀏覽器連接網(wǎng)絡,便可以使用題庫涉及提交試題,參加測試等。該系統(tǒng)提供:遠程考試組卷、遠程考試、閱卷、記錄與分析以及題庫管理功能。全美測評軟件系統(tǒng)有限公司(ATA)是一家提供考試技術(shù)和考試內(nèi)容服務專業(yè)公司,ATA針對中小學信息技術(shù)課程定制校園智能化測試平臺一一E考通,支持廣域網(wǎng)和局域網(wǎng)操作,考生可以進行網(wǎng)上互動練習、課外作業(yè)和提問;教師可以進行網(wǎng)上指引、網(wǎng)上批改作業(yè)b1。當前大多數(shù)考試系統(tǒng)系統(tǒng)構(gòu)造比較流行是C/S構(gòu)造和B/S構(gòu)造。C/S構(gòu)造:即C1ient/Server(客戶機/服務器)構(gòu)造,它通過將任務合理分派到C1ient端和Server端,減少了系統(tǒng)通訊開銷。但隨著Internet不斷普及和應用迅速升級,c/s應用感到有些力不從心。這種構(gòu)造考試系統(tǒng)規(guī)定在服務器和客戶端單機上都安裝考試應用軟件,客戶端軟件具備考題顯示,考試計時及與服務器通信聯(lián)系等功能。服務器端軟件則負責維護題庫、抽取試題及考后閱卷、成績收取、記錄、匯總等工作??忌趩螜C上參加考試,考試成果被系統(tǒng)收集到服務器中指定目錄下。此外,基于Web在線考試系統(tǒng)除了可以進行遠程考試,還被廣泛應用于校園網(wǎng)內(nèi)學生自學與考核。通過對題庫大量題目練習,可以提高學生學習和應試能力。它不受時間和空間限制,學生可以在任何閑暇時間進行練習和自我考查。學生課外學習以便并且不需金錢投入;教師可以布置在線作業(yè),學生完畢作業(yè)后即時上交,大大減輕工作量。并且可以運用基于Web考試系統(tǒng)既有環(huán)境實現(xiàn)教與學互動,使教師和學生能即時溝通和交流,互相增進。因而,這也是對有限教誨資源高效共享。在線考試系統(tǒng)是計算機輔助教學一種有利工具,也是一種很有前程教誨輔助辦法。1.3論文構(gòu)造本系統(tǒng)采用B/S構(gòu)造模型,掙脫了c/s模型對客戶端依賴;采用三層構(gòu)造設(shè)計,增強了系統(tǒng)可重用性和可移植性,便于日后維護和擴展。旨在為教師提供一種管理平臺,對題庫進行科學、高效、靈活管理,支持多樣化試題,實現(xiàn)多科目試題存儲;提供試題和試卷共享使用。其重要功能涉及:輔助教師組織試卷;容許學生在線考試和自我測評;為管理員提供基于Web模式遠程管理和有圖形顧客界面本地維護。論文共分五章,其重要內(nèi)容分別為:緒論,系統(tǒng)分析,系統(tǒng)總體設(shè)計,系統(tǒng)詳細設(shè)計,系統(tǒng)測試。第二章系統(tǒng)分析2.1可行性分析2.1.1技術(shù)分析隨著網(wǎng)絡技術(shù)和計算機技術(shù)發(fā)展迅猛,有著各種硬件、開發(fā)工具和數(shù)據(jù)庫作為技術(shù)支撐,使技術(shù)可行性大為增強。題庫存貯量大和解決速度慢等因素已不再是重要考慮問題。運用當前流行網(wǎng)絡編程技術(shù)和開發(fā)經(jīng)驗,以及有關(guān)各種開發(fā)軟件應用,就可以開發(fā)出該題庫系統(tǒng)。本系統(tǒng)重要以LAMP為開發(fā)平臺,MySQL為后臺數(shù)據(jù)庫,采用B/S模式,通過PHP提供MySQL擴展存取數(shù)據(jù)庫數(shù)據(jù)。本系統(tǒng)開發(fā)是一種B/S(瀏覽器/服務器)模式網(wǎng)絡題庫系統(tǒng),其特色就是使顧客定義操作過程?!凹磦骷从?、“即出即和”、“即選即用”。其實現(xiàn)流程如下:顧客可通過ApacheWeb服務器,祈求調(diào)用.php頁面,執(zhí)行相應腳本,執(zhí)行成果產(chǎn)生動態(tài)生成HTML頁面并返回瀏覽器;顧客通過瀏覽器對HTML頁面進行相應操作祈求(如考試試卷)返回瀏覽器,供顧客使用。軟件安裝只在服務器端進行,客戶端實現(xiàn)了“零"安裝;所有系統(tǒng)管理升級只在服務器進行,各客戶端無需任何變化。2.1.2應用分析隨著計算機和網(wǎng)絡普及化,為網(wǎng)絡化題庫系統(tǒng)提供了良好實行環(huán)境和設(shè)備,教師和學生對該系統(tǒng)使用不受時空限制。在本系統(tǒng)中,界面操作都是基于Web界面,通過系統(tǒng)構(gòu)造設(shè)計、表設(shè)計及前端開發(fā),構(gòu)建網(wǎng)絡題庫系統(tǒng)。通過瀏覽器訪問,提供顧客登陸,試題庫錄入、維護,試卷生成,實時考試,自動閱卷,成績查詢等服務。對題庫管理與在線考試等操作實現(xiàn)更加以便和高效。本系統(tǒng)建成后,可以加強在校教師教學效果和提高工作效率。在平時教學過程中使用,使學生可以在此系統(tǒng)平臺上進行學習、訓練、考試。為避免相領(lǐng)考生互相抄襲,保證了每個考生試卷各不相似;為避免重復抽題,每個考生只能抽取一份試卷;可進行在線評分;試卷隨機生成;由于試題、考生身份、考生成績等機密信息都存儲在數(shù)據(jù)庫中,一旦數(shù)據(jù)庫遭到破壞或者非法入侵,都就會導致無法挽回損失,因而本系統(tǒng)保證了數(shù)據(jù)庫安全性。2.2系統(tǒng)需求分析為了明確顧客規(guī)定和應用現(xiàn)場環(huán)境特點,理解系統(tǒng)應具備哪些功能、數(shù)據(jù)流程和數(shù)據(jù)之間聯(lián)系,本系統(tǒng)在開發(fā)邁進行了較詳細系統(tǒng)需求分析。本系統(tǒng)應用規(guī)定有兩個方面:一方面是教師可以進行試題錄入、編輯,試卷配備、生成,以及對題庫管理,另一方面該系統(tǒng)可以基于不同知識點和難度進行組卷,并對考卷進行自動評分。2.2.1功能需求本系統(tǒng)是為教師提供一種管理平臺,對題庫進行科學、高效、靈活管理,支持多樣化及多科目試題存儲;提供試題和試卷共享使用;為考生提供一種學習、訓練、考試平臺。系統(tǒng)重要實現(xiàn)如下功能:1.題庫管理:試題增長、刪除、修改:試題批量導出、導入;題目類型設(shè)立等。2.試卷管理:組卷,試卷添加和編輯、刪除。3.權(quán)限角色與顧客注冊管理:系統(tǒng)管理員、教師、考生三種角色。系統(tǒng)管理員負責管理控制整個站點,負責對教師、考生等角色進行授權(quán):教師負責試題收集和管理、管理試卷、維護試卷、單科題庫錄入和編輯;考生可進行考試、自測、成績查詢。4.安全機制:數(shù)據(jù)備份,權(quán)限管理等。5.成績管理:自動評分等。2.2.2顧客需求1.顧客解決規(guī)定:系統(tǒng)管理員可以對所有教師、考生進行管理,并享有所有后臺管理功能。教師能對題庫執(zhí)行增長、刪除和修改操作;考試科目增長、刪除和修改操作;由教師設(shè)立考試信息,在考試時,系統(tǒng)將依照考試信息設(shè)立對每個考生自動生成試卷;教師可設(shè)立考試信息,系統(tǒng)控制考試時間、防刷新、考試成績自動生成等。2.對系統(tǒng)適應性、通用性規(guī)定:規(guī)定系統(tǒng)可以不受課程設(shè)立變化影響。通用性方面,不但可以進行計算機基本課程考試,并且在稍作設(shè)立或改動后,其她學科也能使用本系統(tǒng)進行在線考試。3.對系統(tǒng)安全性規(guī)定:規(guī)定進入系統(tǒng)必要進行口令校驗。2.2.3性能需求系統(tǒng)具備良好擴充性;系統(tǒng)具備先進性、實用性,是在實用基本上先進性;系統(tǒng)具備良好顧客界面,操作以便,盡量減少誤操作率;系統(tǒng)具備良好安全保密機制、防止顧客非法入侵系統(tǒng)提供三種顧客登錄身份:系統(tǒng)管理員、教師、考生,不同身份登錄后可以訪問資源和對資源訪問權(quán)限都完全不同。2.3本章總結(jié)本章從可行性分析和系統(tǒng)需求分析兩個方面對系統(tǒng)進行分析,為隨后系統(tǒng)總體設(shè)計做好了準備。第三章系統(tǒng)總體設(shè)計3.1系統(tǒng)功能模塊設(shè)計本基于Web題庫系統(tǒng)是基于B/S三層構(gòu)造開發(fā),為了保證合法顧客帳號安全性,系統(tǒng)提供了修改個人信息功能,管理員和教師可以通過這項功能,及時修改自己登錄密碼,保證自己帳號不被其她人盜用。題庫系統(tǒng)如果只是對試題進行管理,那樣話意義就不是很大,因而本人加了一項功能即在線考試??荚囀怯刑囟▽ο?,因此考生進入系統(tǒng)應當進行身份驗證??忌M入考試系統(tǒng)后,需要選取相應考試科目,因此系統(tǒng)尚有考試科目選取功能。鑒于考試環(huán)境普通為機房,考試者之間距離很近,為了避免考試做弊,試卷試題和題量雖然是相似,但卷面并不相似。在線考試基于網(wǎng)絡環(huán)境,試卷是從服務器數(shù)據(jù)庫隨機抽取試題后動態(tài)生成。此外,考試是有時間限制,系統(tǒng)還對考試時間進行控制,結(jié)束時間到了便逼迫考生交卷??忌痪砗?,由計算機自動判卷,得到成績后顯示出來??荚嚱Y(jié)束后,考生可以不久地查詢到自己成績,以以便其有目地加強某方面訓練。本系統(tǒng)從功能上可以分為:前臺顧客系統(tǒng)和后臺管理系統(tǒng)兩某些。基于Web題庫系統(tǒng)基于Web題庫系統(tǒng)前臺顧客系統(tǒng)后臺管理系統(tǒng)前臺顧客系統(tǒng)后臺管理系統(tǒng)圖3-1題庫系統(tǒng)兩大子系統(tǒng)后臺管理系統(tǒng)重要是面對教師和管理員,而前臺顧客系統(tǒng)重要面對考生。每個子系統(tǒng)又包括若干個功能模塊。下面將對每個子系統(tǒng)各功能模塊詳細功能進行分析和闡述。3.1.1后臺管理系統(tǒng)其功能構(gòu)造如圖3-2所示:后臺管理系統(tǒng)后臺管理系統(tǒng)主控面板主控面板上傳管理試卷管理考卷管理科目管理試題管理成績管理顧客組管理顧客管理上傳管理試卷管理考卷管理科目管理試題管理成績管理顧客組管理顧客管理圖3-2后臺管理系統(tǒng)功能構(gòu)造圖1.主控模塊:提供主界面和與其她模塊設(shè)立相應入口參數(shù)。2.顧客管理模塊:該模塊具備對登錄題庫管理子系統(tǒng)顧客進行增長、刪除、顧客所屬顧客組、顧客密碼修改等功能。3.顧客組管理模塊:該模塊重要用于對系統(tǒng)顧客顧客組信息進行增長、刪除、以及權(quán)限設(shè)立等操作。4.成績管理模塊:本子模塊由教師通過Web方式訪問,對于試卷評分,系統(tǒng)會自動完畢客觀題評分,主觀題評分由后臺管理員完畢,然后由系統(tǒng)記錄出總分,這樣也避免浮現(xiàn)人為因素統(tǒng)分錯誤。5.試題管理模塊:該模塊用于試題管理,可以對試題進行錄入、查找、刪除和修改等操作。題庫信息有效組織是開發(fā)考試系統(tǒng)前提。6.科目管理模塊:該模塊用于對試題所屬科目進行添加,刪除等操作。由于科目是個共同屬性,有各種模塊與它有聯(lián)系,因此本系統(tǒng)中,把科目獨立出來,作為一種項目進行管理。7.考卷管理模塊:該模塊中可以依照試卷配備信息動態(tài)生成一份考卷,并可對已有考卷信息進行管理。8.試卷管理模塊:該模塊可以盡心配備試卷操作,并可對已有試卷配備信息進行編輯、瀏覽、查詢、刪除等管理。9.上傳管理模塊:該模塊可以上傳文獻格式試卷,并可對已上傳文獻進行瀏覽、刪除等操作。3.1.2前臺子系統(tǒng)其功能構(gòu)造如圖3-3所示:前臺首頁前臺首頁資料分享分數(shù)查詢在線考試顧客登陸在線做題顧客注冊資料分享分數(shù)查詢在線考試顧客登陸在線做題顧客注冊圖3-3前臺顧客系統(tǒng)構(gòu)造圖1.顧客注冊模塊:顧客選取注冊并輸入有關(guān)顧客資料完畢注冊。2.顧客登錄模塊:從顧客資料數(shù)據(jù)庫中提取顧客有關(guān)資料進行認證,如果為合法顧客,提示顧客登陸成功,否則提示登陸失敗并跳轉(zhuǎn)回登陸頁面。3.在線考試子模塊:考試子模塊是本系統(tǒng)重要某些。從理論上講,考試可以在任何時候、任何地點進行,但在實際操作中,為了以便考場組織和管理,本系統(tǒng)對考試時間作了嚴格限制。在顧客選取進行考試時,系統(tǒng)一方面判斷當前時間與否為考試規(guī)定期間,由于判斷時間是服務器端時間,跟考試客戶端計算機時間無關(guān),因此雖然考生修改本地計算機時間,也不會影響管理員規(guī)定考試時間。如果時間符合規(guī)定,便會顯示試卷頁面;否則,提示考試尚未開始。同步在頁面上動態(tài)地顯示考試所剩時間,當考試時間到或考生點擊“交卷"按鈕時,系統(tǒng)便會把考生答案傳送至服務器數(shù)據(jù)庫中保存起來。當考生做題時間達到考試規(guī)定期間時,系統(tǒng)會自動提交試卷。此外,考生可以在試卷有效時間范疇內(nèi)進行定制試卷測試,考生可以點擊交卷按鈕提前交卷,也可等到考試時間結(jié)束時系統(tǒng)自動收卷。4.在線做題子模塊:顧客可以選取自己感興趣科目,系統(tǒng)會列出該科目試題列表,顧客點擊題目邊可竟如到單道試題做題頁面,顧客提交完答案就可以看到成果。5.成績查詢子模塊:為了能讓顧客及時、以便地理解考試成績,查詢子模塊也采用Web方式實現(xiàn)。考生在合法登錄后,在有關(guān)Web頁就會顯示其相應考試科目成績信息,讓考生從整體上理解自己該學科學習狀況。6.資料分享子模塊:顧客可如下載其她顧客上傳試卷資料,并可以上傳資料到系統(tǒng)與其她顧客分享。3.2系統(tǒng)運營模式從信息系統(tǒng)運營模式發(fā)展看,信息系統(tǒng)運營模式重要有三種:主機/終端(M/T)模式、客戶/服務器(C/S)模式、瀏覽器服務器(B/S)模式。其中B/S模式是當前在Internet/Intranet網(wǎng)絡平臺上最流行運營模式。B/S模式由瀏覽器和網(wǎng)絡服務器構(gòu)成,通過網(wǎng)絡連接,其構(gòu)造如圖3-4所示。它和C/S模式有許多相似之處,但瀏覽器是通用顧客界面,不需在瀏覽器端安裝顧客應用程序,服務器負責提供顧客需要信息,但要訪問網(wǎng)絡數(shù)據(jù)庫中信息還需要進行某種擴展。圖3-4B/S模式典型構(gòu)造圖信息系統(tǒng)采用此種模式可以使數(shù)據(jù)解決、內(nèi)部信息(Intranet)瀏覽和外部信息(Internet)瀏覽界面完全一致,以便顧客使用;同步,由于瀏覽器端不安裝顧客應用程序,可大大減少運營維護費用。3.2.1MVC架構(gòu)特性本系統(tǒng)整個軟件架構(gòu)采用是MVC架構(gòu)模式。MVC(Model-View-Controller)架構(gòu)是軟件工程中一種架構(gòu)模式,把軟件系統(tǒng)分為三個基本某些:模型(Model)、視圖(View)和控制器(Controller)。軟件系統(tǒng)通過對自身基本部份分離同步也賦予了各個基本某些應有功能。模型(Model):模型用于封裝與應用程序業(yè)務邏輯有關(guān)數(shù)據(jù)以及對數(shù)據(jù)解決辦法。模型有對數(shù)據(jù)直接訪問權(quán)利,例如對數(shù)據(jù)庫訪問。模型不依賴視圖和控制器,也就是說,模型不關(guān)懷它如何顯示或是如何操作。視圖(View):視圖層可以數(shù)據(jù)有目顯示。在視圖中普通沒有程序上邏輯??刂破鳎–ontroller):控制器起到了不同層面組織作用,用于控制應用程序流程。它介于模型和視圖之間。MVC構(gòu)造模式如圖3-5所示:圖3-5MVC架構(gòu)模式圖3.2.2題庫系統(tǒng)構(gòu)造由于題庫系統(tǒng)使用環(huán)境普通是校園網(wǎng),同步題庫系統(tǒng)具備保密性規(guī)定高特點;因此在研究基于Web試題庫系統(tǒng)中,采用了Web技術(shù)基本模式即B/S(瀏覽器服務器)模式,采用PHP為數(shù)據(jù)庫中間件,采用MySQL為后臺數(shù)據(jù)庫,形成了Internet三層體系構(gòu)造構(gòu),本系統(tǒng)三層應用系統(tǒng)構(gòu)造如圖3-6所示:圖3-6系統(tǒng)構(gòu)造圖3.3系統(tǒng)數(shù)據(jù)庫設(shè)計基于Web題庫系統(tǒng)核心技術(shù)之一是Web數(shù)據(jù)庫技術(shù)。Internet是推動Web數(shù)據(jù)庫應用重要因素,近幾年,Web技術(shù)應用是數(shù)據(jù)庫管理系統(tǒng)重要發(fā)展方向。Web數(shù)據(jù)庫技術(shù)采用三層或多層體系構(gòu)造,前端采用基于瘦客戶機瀏覽器技術(shù),通過Web服務器及中間件訪問數(shù)據(jù)庫。其體系構(gòu)造如圖3-7所示:圖3-7Web數(shù)據(jù)庫體系構(gòu)造3.3.1數(shù)據(jù)庫需求分析數(shù)據(jù)庫設(shè)計是整個管理系統(tǒng)重要構(gòu)成某些,直接影響到系統(tǒng)是實現(xiàn)?,F(xiàn)將數(shù)據(jù)庫系統(tǒng)中核心數(shù)據(jù)庫和表設(shè)計予以闡述??颇啃畔⒈恚褐匾鎯颇啃畔?,如科目名稱,管理密碼,所屬類別等等。分類信息表:重要存儲分類信息,如可按系別分類,可按知識點分類等等,分類辦法是自定義。3.3.2數(shù)據(jù)庫安全系統(tǒng)所有關(guān)于課程、試題、顧客等最有價值信息都存儲于數(shù)據(jù)庫中,一旦數(shù)據(jù)泄漏或丟失后果不堪設(shè)想,因而數(shù)據(jù)庫安全性設(shè)計是整個系統(tǒng)安全性設(shè)計重中之重。本系統(tǒng)采用安全性較強MySQL數(shù)據(jù)庫系統(tǒng),并采用如下安全辦法:1.及時更新補丁程序:與操作系統(tǒng)同樣,MySQL補丁程序可以彌補安全漏洞,因而應及時更新。2.修改root具備對MySQL數(shù)據(jù)庫操作所有權(quán)限,極易受到襲擊。因而一定要選中“強制實行密碼方略”,重設(shè)root密碼,最佳把root這個登錄名修改為其他名稱。3.數(shù)據(jù)庫定期備份:數(shù)據(jù)庫備份是最主線、最安全辦法。數(shù)據(jù)庫備份有完整備份和差別備份兩種類型,本研究采用定期完整備份方式,以保證在發(fā)生意外狀況時可以恢復數(shù)據(jù)庫,把損失降到最低。此外,本文數(shù)據(jù)庫安全還從如下兩個方面保證程序運營安全可靠:一是作為后端數(shù)據(jù)庫管理系統(tǒng)自身所能提供安全性能;二是前端應用程序也要提供安全性管理。前端應用程序安全性管理涉及如下內(nèi)容:一方面是提供顧客認證系統(tǒng)管理,控制顧客使用數(shù)據(jù)庫對象管理。設(shè)立具備一定權(quán)限顧客,才干使用相應數(shù)據(jù)庫對象。本系統(tǒng)有三種類型顧客:教師、管理員和考生,不同類型顧客訪問數(shù)據(jù)庫權(quán)限不同。系統(tǒng)管理員具備增、刪、改等各種權(quán)限。教師可以對數(shù)據(jù)庫進行瀏覽和增長試題等操作,以及對單科題庫管理。并且同一類型顧客在訪問不同對象時設(shè)立不同樣訪問權(quán)限。如:對于教師信息表中教師顧客,教師可按照分級授權(quán)進行控制。教師可以跨學科瀏覽和檢索題庫所有試題;教師新增題目,要通過審核才可成為正式考試題;教師只可以修改出題人為自己試題,可刪除當天自己出試題,只可以邏輯刪除出題人為自己試題。另一方面,設(shè)立數(shù)據(jù)庫管理對數(shù)據(jù)庫信息進行備份。數(shù)據(jù)庫備份就是制作數(shù)據(jù)庫構(gòu)造和數(shù)據(jù)拷貝,拷貝所有對象、系統(tǒng)表和數(shù)據(jù)。在數(shù)據(jù)庫遭到破壞時可以恢復數(shù)據(jù)庫。3.3本章總結(jié)本章重要對系統(tǒng)總體設(shè)計進行陳述,為開發(fā)題庫管理系統(tǒng)詳細設(shè)計奠定了基本。第四章系統(tǒng)詳細設(shè)計4.1開發(fā)環(huán)境和開發(fā)工具本項目采用了當前流行LAMP(Linux+Apache+MySQL+PHP)架構(gòu)作為重要開發(fā)環(huán)境。它有四個組件構(gòu)成,每個組件都是都是相對獨立但又是整個架構(gòu)必不可少一某些。系統(tǒng)同步采用了CodeIgniter作為整個項目開發(fā)框架。Linux:Linux處在整個架構(gòu)最底層,其他每個組件都是在Linux之上運營。但是,并不是一定局限于Linux,如果必要,其她組件在Windows、MacOS和UNIX同樣可以運營。Apache:Apache是一種開源Web服務器,它提供了可讓顧客獲得Web頁面機制。Apache是一款穩(wěn)定、支持核心任務服務器,Internet上超過65%網(wǎng)站都在使用它作為Web服務器。PHP組件事實上是在Apache中,動態(tài)頁面可以通過Apache和PHP創(chuàng)立。MySQL:MySQL提供了LAMP機構(gòu)數(shù)據(jù)存儲端。有了MySQL,便可以獲得一種非常強大、適合運營大型復雜站點數(shù)據(jù)庫。在Web應用程序中,所有數(shù)據(jù)、產(chǎn)品、帳戶和其他類型數(shù)據(jù)都存儲在數(shù)據(jù)庫中,通過SQL語言可以很容易查詢、修改、刪除這些性息。PHP:PHP是一門簡樸有效編程語言,它像是粘合劑,可以將LAMP系統(tǒng)所有其他組件粘合在一起,您可以使用PHP編寫能訪問MySQL數(shù)據(jù)庫中數(shù)據(jù)和Linux提供某些特性動態(tài)內(nèi)容。CodeIgniter:CodeIgniter是一套給PHP開發(fā)者使用應用程序開發(fā)框架和工具包。它提供一套豐富原則庫以及簡樸接口和邏輯構(gòu)造,采用了MVC邏輯構(gòu)造,是開發(fā)人員可以更迅速進行項目開發(fā)。4.1.1開發(fā)環(huán)境搭建安裝MySQL一方面去MySQL官方網(wǎng)站()下載安裝包到/usr/local/src目錄下。然后在終端輸入一下命令:>cd/usr/local/src>tar–zxvfmysql-6.0.0-alpha.tar.gz>cdmysql-6.0.0-alpha>./configure–prefix=/usr/local/mysql>make&&makeinstall>cpsupport-files/f/etc/f>cd/usr/local/mysql>chown–Rmysql>chgrp–Rmysql>bin/mysql_install_db–user=mysql>bin/mysql_safe–user=mysql&到這里mysql就安裝完畢了。安裝Apache一方面去Apache官方網(wǎng)站()下載Apache安裝包程序到/usr/local/src目錄中。然后在終端鍵入一下命令:>cd/usr/local/src>tar–zxvfhttpd-2.2.4.tar.gz>cdhttpd-2.2.4>./configure–prefix=/usr/local/apache--with-mysql=/usr/local/mysql--enable-module=so–enable-share=max>make&&makeinstall安裝PHP一方面去PHP官方網(wǎng)站主頁(/downloads.php)下載安裝包到/usr/local/src目錄下,然后在終端鍵入一下命令:>cd/usr/local/src>tar–zxvfphp-5.3.6.tar.gz./configure–prefix=/usr/local/php–with-mysql=/usr/local/mysql–with-apxs2=/usr/local/apache/bin/apxs>make&&makeinstall>cpphp.ini-dist/usr/local/lib/php.ini安裝CodeIgniterCodeIgniter是為PHP開發(fā)人員提供一種輕量級迅速開發(fā)框架。采用了典型MVC架構(gòu)。其程序執(zhí)行流程如圖4-1所示:圖4-1CodeIgniter程序執(zhí)行流程圖index.php作為前端控制器,初始化運營CodeIgniter所需要基本資源。Router檢查HTTP祈求,以擬定誰來解決祈求。如果緩存(Cache)文獻存在,它將繞過普通系統(tǒng)執(zhí)行順序,被直接發(fā)送給瀏覽器。安全(Security)。應用程序控制器(ApplicationController)裝載之前,HTTP祈求和任何顧客提交數(shù)據(jù)將被過濾??刂破?Controller)裝載模型、核心庫、輔助函數(shù),以及任何解決特定祈求所需其他資源。最后視圖(View)渲染發(fā)送到Web瀏覽器中內(nèi)容。如果啟動緩存(Caching),視圖一方面被緩存,因此將可用于后來祈求。CodeIgniter安裝分為一下四個環(huán)節(jié):解壓縮安裝包。把CodeIgniter文獻夾和里面文獻上傳到你服務器。普通index.ph在根目錄。用任何文本編輯器打開application/config/config.php去設(shè)立你網(wǎng)站根URL。如果你打算使用加密或Session,請設(shè)立你加密密鑰。如果你打算使用數(shù)據(jù)庫,用任何文本編輯器打開application/config/database.php去設(shè)立你數(shù)據(jù)庫參數(shù)。4.1.2重要開發(fā)工具項目重要用到開發(fā)工具備vim、Firefox、Firebug和phpMyAdmin。其中vim是從vi發(fā)展出來文本編輯器,具備代碼補全、語法高亮顯示、編譯及錯誤跳轉(zhuǎn)等許多以便編程功能,是Linux下使用最廣泛編輯器之一。Firefox(中文名火狐)是一款使用廣泛瀏覽器,它提供了許多以便編程和調(diào)試擴展,涉及Firebug、HttpWatch等許多使用以便擴展。Firebug是一種Firefox擴展,它提供了對涉及html頁面、CSS樣式表、Javascript腳本和http祈求響應信息調(diào)試,是快發(fā)Web應用必不可少工具之一。phpMyAdmin是一款基于phpMySQL數(shù)據(jù)庫管理軟件,它提供了對數(shù)據(jù)庫圖形操作界面,在本系統(tǒng)中重要用于MySQL數(shù)據(jù)庫管理。4.2系統(tǒng)數(shù)據(jù)庫表構(gòu)造設(shè)計數(shù)據(jù)庫包具有試題表、顧客信息表、顧客組信息表、試卷表、考卷表、答卷表、資料表、知識點表。顧客信息表構(gòu)造如表4-1所示:字段名類型備注uidint(11),unsigned,notnull顧客id主鍵usernamevarchar(20),notnull顧客名passwordvarchar(40),notnull顧客密碼emailvarchar(60),notnull顧客郵箱u_namevarchar(20),notnull顧客真是姓名u_cardidvarchar(30),notnull身份證號碼groupint(10),unsigned,notnull顧客組authtinyint(1),unsigned,notnull認證顧客表4-1顧客(user)信息表顧客信息表重要用于存儲題庫系統(tǒng)顧客信息,依照顧客角色不同分為普通顧客管理員顧客等,不同角色通過顧客所屬顧客組不同進行區(qū)別。創(chuàng)立顧客信息表SQL語句為:CREATETABLE`user`(`uid`INT(11)UNSIGNEDNOTNULLAUTO_INCREMENT,`username`VARCHAR(20)NOTNULLDEFAULT'’,`password`VARCHAR(40)NOTNULLDEFAULT'',`email`VARCHAR(60)NOTNULLDEFAULT'',`u_name`VARCHAR(20)NOTNULLDEFAULT'’,`u_cardid`VARCHAR(30)NOTNULLDEFAULT'',`group`INT(10)UNSIGNEDNOTNULLDEFAULT'0',`auth`TINYINT(1)UNSIGNEDNOTNULLDEFAULT'0',`regtime`INT(11)UNSIGNEDNOTNULLDEFAULT'0',PRIMARYKEY(`uid`),UNIQUEKEY`username`(`username`))ENGINE=MYISAMAUTO_INCREMENT=12DEFAULTCHARSET=utf8。顧客組信息表如表4-2所示:字段名類型備注pidint(11),unsigned,notnull顧客組id主鍵namevarchar(20),notnull顧客組名rightstext,notnull顧客組權(quán)限表4-2顧客組(usergroup)信息表顧客組表包括了顧客組id、顧客組名字以及該顧客在所具備權(quán)限,顧客組有三種權(quán)限屬性:超級管理員權(quán)限、題目管理權(quán)限、普通管理員權(quán)限。同一種顧客組可以擁有不同權(quán)限,各種權(quán)限可以同步擁有。創(chuàng)立顧客組表SQL語句為:CREATETABLE`usergroup`(`pid`smallint(5)NOTNULLauto_increment,`name`varchar(50)NOTNULLdefault'',`rights`textNOTNULLCOMMENT'權(quán)限',PRIMARYKEY(`pid`))ENGINE=MyISAMAUTO_INCREMENT=6DEFAULTCHARSET=utf8。題目表構(gòu)造如表4-3所示:字段名類型備注idint(11),unsigned,notnull題目id主鍵titletext,notnull題干typesmallint(6),notnull題型xuanxiangtext,notnull選項daantext,notnull答案jiedatext,notnull解答fensmallint(6),notnull答對得分kfsmallint(6),notnull答錯扣分unusedtinyint(1),notnull使用標志authorint(11),notnull題目作者levelsmallint(6),notnull難度tagvarchar(255),notnull標簽categoryint(4),unsigned,notnull所屬科目knowledgeint(11),unsigned,notnull涉及知識點timeint(11),unsigned,notnull添加時間orderkeyint(11),notnull排序值表4-3題目(question)信息表題目性息保包具有單個題目所有核心信息,這些信息涉及題干、題目類型、題目答案、題目解答、題目分值以及題目難度等相信息。創(chuàng)立題目表SQL語句為:CREATETABLE`question`(`id`int(11)unsignedNOTNULLauto_increment,`title`textNOTNULL,`type`smallint(6)NOTNULLdefault'0',`xuanxiang`textNOTNULL,`daan`textNOTNULL,`jieda`textNOTNULL,`fen`smallint(6)NOTNULLdefault'0',`kf`smallint(6)NOTNULLdefault'0',`unuse`tinyint(1)NOTNULLdefault'0',`author`int(11)NOTNULLdefault'0',`level`smallint(6)NOTNULLdefault'0',`tag`varchar(250)NOTNULLdefault'',`category`int(4)unsignedNOTNULLdefault'0',`time`int(11)unsignedNOTNULLdefault'0',`orderkey`int(11)NOTNULLdefault'0',PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=34DEFAULTCHARSET=utf8。試卷信息表構(gòu)造如表4-4所示:字段名類型備注idint(11),unsigned,notnull試卷id主鍵titlevarchar(100),notnull試卷標題descriptvarchar(255),notnull試卷描述dotimesmallint(6),notnull答題時間shititext,notnull試題構(gòu)成fentext,notnull分數(shù)構(gòu)成scoretinyint(3),notnull試卷總分subjecttinyint(3),notnull所屬科目leveltinyint(1),notnull難度authorint(11),notnull試卷作者deltinyint(1),notnull刪除標志timeint(11),unsigned,notnull創(chuàng)立時間表4-4試卷(shijuan)信息表試卷信息表包括了一份試卷所有核心信息,這些信息涉及試卷標題、時間規(guī)定答題時間、試卷題目構(gòu)成、試卷分數(shù)構(gòu)成、試卷所屬科目、試卷難度級別等。創(chuàng)立試卷SQL語句為:CREATETABLE`shijuan`(`id`int(11)unsignedNOTNULLauto_increment,`title`varchar(100)NOTNULLdefault'',`descrip`varchar(250)NOTNULLdefault'',`dotime`smallint(6)NOTNULLdefault'0',`shiti`textNOTNULL,`fen`textNOTNULL,`score`tinyint(3)NOTNULL,`subject`tinyint(3)unsignedNOTNULLdefault'0',`level`tinyint(1)NOTNULL,`author`tinyint(1)NOTNULLdefault'0',`del`tinyint(1)unsignedNOTNULLdefault'0',`time`int(11)unsignedNOTNULLdefault'0',PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=7DEFAULTCHARSET=utf8??季硇畔⒈順?gòu)造如表4-5所示:字段名類型備注idint(11),unsigned,notnull考卷id主鍵kidint(11),unsigned,notnull所屬試卷titlevarchar(255),notnull考卷標題questionstext,notnull題目startint(11),unsigned,notnull開始時間endint(11),unsigned,notnull結(jié)束時間dotimesmallint(6),notnull考試時間leasttimesmallint(6),notnull至少答題時間validtinyint(1),notnull有效標志timeint(11),unsigned,notnull創(chuàng)立時間表4-5考卷(kaojuan)信息表考卷信息表包具有考卷名字、考卷開始和結(jié)束時間、考卷詳細題目構(gòu)成以及考卷答卷時間等核心信息。創(chuàng)立考卷表SQL語句為:CREATETABLE`kaojuan`(`id`int(11)unsignedNOTNULLauto_increment,`kid`int(11)unsignedNOTNULL,`title`varchar(255)NOTNULLdefault'',`questions`textNOTNULL,`start`int(11)unsignedNOTNULLdefault'0',`end`int(11)unsignedNOTNULLdefault'0',`dotime`smallint(6)NOTNULLdefault'0',`leasttime`smallint(6)unsignedNOTNULLdefault'0',`valid`tinyint(1)NOTNULLdefault'0',`time`int(11)unsignedNOTNULLdefault'0',PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=9DEFAULTCHARSET=utf8。答卷表構(gòu)造如表4-6所示:字段名類型備注idint(11),unsigned,notnull答卷id主鍵uidint(11),unsigned,notnull答題人sidint(11),unsigned,notnull所屬試卷answertext,notnull答案scoretinyint(3),notnull得分timeint(11),unsigned,notnull作答時間表4-6答卷(dajuan)信息表答卷表是顧客某次考試成果信息,包具有答卷所屬考卷id、答卷人id以及答案等信息。創(chuàng)立答卷表SQL語句為:CREATETABLE`dajuan`(`id`int(11)unsignedNOTNULLauto_increment,`uid`int(11)unsignedNOTNULL,`sid`int(11)unsignedNOTNULL,`answer`textNOTNULL,`score`tinyint(3)NOTNULLdefault'-1',`time`int(11)unsignedNOTNULLdefault'0',PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=13DEFAULTCHARSET=utf8。資料表構(gòu)造如表4-7所示:字段名類型備注idint(11),unsigned,notnull文獻id主鍵filenamevarchar(255),notnull文獻名randnamevarchar(255),notnull隨機文獻名datetimeint(11),unsigned,notnull上傳時間表4-7資料(paper)信息表資料表是顧客上傳資料信息記錄,這些信息涉及上傳文獻文獻名、存儲在服務器文獻名以及上傳時間等。創(chuàng)立資料表SQL語句為:CREATETABLE`paper`(`id`int(11)unsignedNOTNULLauto_increment,`filename`varchar(255)NOTNULL,`randname`varchar(255)NOTNULL,`datetime`int(11)unsignedNOTNULL,PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=14DEFAULTCHARSET=utf8。知識點表成果如表4-8所示:字段名類型備注idint(11),unsigned,notnull知識點id主鍵sidint(11),unsigned,notnull所屬科目namevarchar(255),notnull知識點名稱descripvarchar(255),notnull知識點描述表4-8知識點表構(gòu)造知識點構(gòu)造表重要用于存儲題目設(shè)計知識點信息,在進行自動組卷時,依照知識點信息,保證計算機在自動選題時可以覆蓋所有知識點,保證抽題科學性。創(chuàng)立該表SQL語句為:CREATETABLE`knowledge`(`id`int(11)unsignedNOTNULLauto_increment,`sid`int(11)unsignedNOTNULL,`name`varchar(255)NOTNULL,`descrip`varchar(255)NOTNULL,PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=8DEFAULTCHARSET=utf8。4.3系統(tǒng)重要模塊設(shè)計系統(tǒng)提成前端和后端兩個相對獨立某些,前段重要提供應普通顧客使用,涉及有注冊、在線考試、資料貢獻等功能。后端重要提供應管理員使用,后端可使用功能有試題管理、試卷管理、考卷管理、答卷管理等。4.3.1系統(tǒng)前端實現(xiàn)首頁首頁index.php是普通顧客訪問系統(tǒng)時展示給她頁面,頁面包具有最新題目、進行中考試、已結(jié)束考試、最新上傳資料等信息。同步首頁還提供了顧客注冊、顧客登陸、網(wǎng)站聲明等有關(guān)信息鏈接,顧客點擊相應連接可以進入到相應頁面。首頁截圖如圖4-2所示:圖4-2前端首頁截圖顧客注冊與登陸該模塊重要功能是實現(xiàn)系統(tǒng)顧客注冊。重要涉及接受新顧客注冊,引導新顧客填寫必要個人資料;實現(xiàn)顧客登陸和登出控制。顧客必要先登陸才干使用網(wǎng)站其她功能,當顧客在未登錄狀態(tài)使用系統(tǒng)有關(guān)功能時,會跳轉(zhuǎn)到登陸界面提示顧客登陸。在顧客注冊登陸系統(tǒng)中,需要存儲和調(diào)用顧客個人資料,這一過程通過PHP與MySQL協(xié)同完畢。從顧客角度考慮,當顧客連接到題庫系統(tǒng)頁面時,如果是新顧客,就選取“顧客注冊”,如果是已注冊顧客,就可以輸入登錄帳號和密碼登錄進入系統(tǒng)。在服務器端,依照顧客輸入帳號和密碼如數(shù)據(jù)庫相應帳號和密碼相比對,如果密碼對的則登錄成功,將顧客信息和登錄狀態(tài)存入session,否則登陸失敗,提示顧客密碼錯誤。該過程流程如圖4-3所示:登陸注冊登陸注冊顧客存在?輸入注冊信息N顧客存在?輸入注冊信息顧客存在,重新注冊顧客唯一顧客存在,重新注冊顧客唯一Y提示顧客登陸成功N提示顧客登陸成功提示顧客注冊成功Y提示顧客注冊成功登陸結(jié)束登陸結(jié)束注冊結(jié)束注冊結(jié)束(a)顧客注冊流程(b)顧客登陸流程圖4-3顧客注冊與登陸流程顧客注冊界面如圖4-4所示:圖4-4顧客注冊界面顧客注冊界面(register.php)重要內(nèi)容是一種htmlform表單,顧客必要完畢表單有關(guān)內(nèi)容才干完畢注冊,表單分為必填項和選填項,所有帶*標志項都是顧客必要填寫,只有填寫完所有必填想才干提交注冊。當顧客在提交表單時尚有必填項未填寫時,頁面會彈出一種提示框提示顧客。當顧客兩次輸入email地址和密碼不一致時,頁面也會給出兩次輸入不一致提示。當顧客完畢所有必填項然后提交注冊后,頁面會將顧客注冊信息通過form表單post辦法將顧客注冊信息發(fā)送到controllerregister函數(shù),register函數(shù)對顧客提交信息進行驗證,并把信息插入到數(shù)據(jù)庫user表中。添加顧客信息代碼如下:functionadd($username,$password,$group,$email='',$uname='',$ucardid=''){ $query=$this->db->query("INSERTINTO".$this->_table."VALUES('','$username','".MD5($password)."','$email','$uname','$ucardid','$group','','".time()."')"); return$query;}顧客登陸界面如圖4-5所示:圖4-5顧客登陸界面顧客登陸界面比較簡樸,頁面有兩個輸入框,分別是顧客名和密碼。當顧客輸入顧客名和密碼并點擊登陸后,頁面會通過form表單post辦法將顧客輸入顧客名和密碼發(fā)送到前段controllerlogin辦法。login辦法連接數(shù)據(jù)庫并檢查顧客輸入密碼與否與輸入顧客名想匹配,如果匹配,則登陸成功。否則,登陸失敗。登陸狀態(tài)通過session實現(xiàn),session是指顧客在瀏覽某網(wǎng)站時,標記顧客狀態(tài)一種機制,PHP提供了相應session操作模塊和$_SESSION全局變量。login辦法核心代碼如下所示:functioncheckLogin($name,$password){ $query=$this->db->query("SELECT*FROMuserWHEREusername='".$name."'ANDpassword='".MD5($password)."'LIMIT1"); if($query->num_rows()>0) { return$query->row_array(); }else { returnFALSE; }}在線考試在線考試模塊提供了一種和諧、以便操作界面,該模塊具備如下功能:從數(shù)據(jù)庫中讀取試卷,并依照不同題型試題使用模版展示給顧客;時間控制,顧客可以提前交卷,當顧客做題時間達到規(guī)定做題時間時,系統(tǒng)會自動提價試卷,并且只有在試卷規(guī)定答題時間范疇內(nèi)才干查看試卷;登陸控制,只有已登錄顧客才有答卷資格;時間提示,系統(tǒng)會顯示距離考試結(jié)束時間,以以便顧客掌握節(jié)奏。在線考試頁面如圖4-6所示:圖4-6顧客在線考試截圖考試過程如圖4-7所示:開始開始提示錯誤與否在考試時間N提示錯誤與否在考試時間Y讀取試卷,依照模板生成試卷讀取試卷,依照模板生成試卷考生答卷考生答卷考試時間與否到考試時間與否到Y(jié)提示時間提示時間提交試卷提交試卷考試結(jié)束考試結(jié)束圖4-7在線考試流程圖當顧客點擊提交試卷時,頁面form表單會將顧客答案通過post辦法發(fā)送到前段Controllerreply辦法,reply辦法將顧客提交答案插入到數(shù)據(jù)庫。插入到數(shù)據(jù)答卷可供后臺管理員查看并進行評分。顧客可在myexam.php中查看到自己參加過考試以及考試得分狀況。reply辦法核心代碼如下:functionadd($uid=0,$sid=0,$answer=''){ $query=$this->db->query("INSERTINTO".$this->_table."VALUES('','$uid','$sid','$answer','-1','".time()."')"); if($query) { returnTRUE; } else { returnFALSE; }} 資料上傳與下載上傳資料模塊實質(zhì)上一種文檔分享模塊,該模塊容許顧客上傳文獻,上傳后文獻可供其她顧客下載,上傳資料操作同步也可以在后臺文獻管理模塊完畢。資料上傳頁面(download.php)如圖4-8所示:圖4-8資料上傳頁面截圖htmlform表單提供了file表單用于文獻上傳,上傳有前段Controllerupload辦法實現(xiàn),上傳核心代碼如下://獲取上傳文獻類型$x=explode('.',$_FILES['paper']['name']);$type=end($x);//文獻類型檢測$allow_type=array('doc','docx','txt','pdf');if(!in_array($type,$allow_type)){ $data['online_user_count']=$this->_online_user_count(); $this->load->view('error',array('message'=>'錯誤文獻類型,請上傳doc、docx、txt、pdf格式文獻','tourl'=>'index.php?c=index&m=upload','online_user_count'=>$this->_online_user_count())); return;}$randname=time().'.'.$type;move_uploaded_file($_FILES['paper']['tmp_name'],dirname(__FILE__).'/../../admin/upload/'.$randname);if($this->paper->add($_FILES['paper']['name'],$randname)){ redirect('c=index&m=paper&upload=ok');}通過php全局數(shù)組$_FILES,可以獲取上傳文獻信息,$_FILES數(shù)組內(nèi)容如下:$_FILES["file"]["name"]-被上傳文獻名稱;$_FILES["file"]["type"]-被上傳文獻類型;$_FILES["file"]["size"]-被上傳文獻大小,以字節(jié)計;$_FILES["file"]["tmp_name"]-存儲在服務器文獻暫時副本名稱;$_FILES["file"]["error"]-由文獻上傳導致錯誤代碼。顧客上傳文獻被存在$_FILE[‘file’][‘tmp_name’]中,php提供了move_upload_file函數(shù)將上傳文獻移動到系統(tǒng)尋訪上傳文獻目錄。move_upload_file定義如下:bool

move_uploaded_file

(

string

$filename

,

string

$destination

)。顧客上傳文獻存儲在系統(tǒng)中文獻名是由系統(tǒng)隨機生成,文獻名通過time函數(shù)生成,time函數(shù)返回系統(tǒng)當前時間戳。time函數(shù)定義為int

time

(

void

)。上傳文獻信息同步也存入到數(shù)據(jù)庫資料信息表中。文獻下載頁面如圖4-9所示:圖4-9下載頁面截圖顧客點擊相應文獻名即可完畢下載,下載有前端Controllerdownload辦法實現(xiàn),download辦法使用了codeigniterDownloadHelper。加載DownloadHelper語句為$this->load->helper(‘download’)。文獻下載核心代碼如下:$data=file_get_contents(dirname(__FILE__).'/../../admin/upload/'.$paperinfo['randname']);$filename=$paperinfo['filename'];force_download($filename,$data);file_get_contents是php提供函數(shù),用與獲取文獻內(nèi)容,該函數(shù)定義為string

file_get_contents

(

string

$filename),返回文獻內(nèi)容字符串。force_download是DownloadHelper提供函數(shù),其定義為force_download(filename,data),其中,filename是下載文獻名,data是文獻內(nèi)容。4.3.2系統(tǒng)后端實現(xiàn)系統(tǒng)后端重要是提供應系統(tǒng)管理員管理整個系統(tǒng)時使用,它包括重要功能有后臺登入登出、試題管理、試卷管理、考卷管理、上傳管理、顧客管理等。后端首頁實現(xiàn)后端首頁由三個iframe頁面構(gòu)成,分別是頁首top.php、菜單欄menu.php和內(nèi)容頁。后臺首頁如圖4-10所示:圖4-10后臺首頁截圖當顧客點擊頁面左側(cè)控制面板鏈接,相應內(nèi)容便會顯示在頁面右側(cè),這樣頁面布局極大提高了顧客使用感受,操作也一目了然。整個首頁布局代碼為:<framesetrows=”24,*”> <framename=”top”/> <framesetcols=”160,*”> <framename=”menu”/> <framename=”content”/> </frameset></frameset>HTMLFRAMESET元素用來定義一種框架集,rows和cols屬性是用來控制frameset內(nèi)框架所占行數(shù)和列數(shù)。FRAME元素則用來定義一種特定框架,具備name等屬性。當將menu框架里鏈接元素<A>加上屬性target=”content”時,點擊munu框架里連接就會顯示到content框架里。登入登出系統(tǒng)后臺登入與登出和前端是互相獨立,顧客登陸了前端并不能訪問后臺內(nèi)容。顧客想要訪問后臺必要單獨登陸。后臺登陸頁面login.php如圖4-11所示:圖4-11首臺登陸頁面截圖只有擁有管理員權(quán)限顧客才干登陸后臺,當顧客點擊登陸時,系統(tǒng)會對顧客所屬顧客組進行權(quán)限檢查,如果顧客所在顧客組不具備登陸后臺權(quán)限便回絕顧客登陸。登陸成功后,系統(tǒng)會自動跳轉(zhuǎn)到后臺首頁。檢查登陸核心代碼如下:functioncheckLogin($name,$password){ $query=$this->db->query("SELECT*FROMuserWHERE`group`='1'ANDusername='".$name."'ANDpassword='".MD5($password)."'LIMIT1"); if($query->num_rows()>0) { return$query->row_array(); }else { returnFALSE; }}系統(tǒng)依照顧客輸入顧客名和密碼連接到數(shù)據(jù)庫進行查詢,如果查詢存在這樣顧客切密碼對的則返回TRUE,否則返回FALSE。需要指出是,顧客密碼信息并不是以明文信息存在數(shù)據(jù)庫,存儲是通過MD5加密后信息,這樣做可以保證密碼只有顧客本人懂得,應此,當顧客忘掉密碼時,只能聯(lián)系管理員重新設(shè)立密碼。MD5函數(shù)原型為:string

md5

(

string

$str

),該函數(shù)將任何輸入字符串通過hash算法轉(zhuǎn)化成一種32位長度字符串。PHP提供了許多加密算法,比較慣用有md5、sha1、crc32等。試題管理試題管理重要用于整個試題庫管理,涉及試題錄入、編輯、查看和刪除。在試題錄入功能中,系統(tǒng)依照顧客選取題型不同而提供不同試題模板,試題模板為顧客提供了試題所有核心信息輸入框。例如當顧客選取題型是單選題時,題型模板提供了選項輸入框,同步容許顧客將摸一種選項設(shè)為答案,而當顧客選取多選題時,容許顧客將一種或各種選項設(shè)為答案,當顧客選取錄入填空題時,便不存在選項輸入框。系統(tǒng)提供了五種題型供顧客選取,涉及單選題、多選題、判斷題、填空題、簡答題。題型信息字段在數(shù)據(jù)庫里是以一種整數(shù)形式存儲,應為查詢時候數(shù)字比字符全效率更高。試題錄入界面如圖4-12、4-13所示:圖4-12單選題錄入頁面截圖圖4-13多選題錄入頁面截圖題干輸入框內(nèi)嵌了文本編輯器,為顧客提供了豐富文本編輯功能,顧客除了可以編輯題目題干、選項、答案、解答等基本性息外,還可以設(shè)立題目分值、題目排序值、題目難度、題目所屬科目、題目所屬知識點、標簽等性息等性息。題目分值信息重要用于在線考試時使用,默認是0。題目難度性息

溫馨提示

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

評論

0/150

提交評論