計(jì)算機(jī)本科畢業(yè)論文-在線答題系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
計(jì)算機(jī)本科畢業(yè)論文-在線答題系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
計(jì)算機(jī)本科畢業(yè)論文-在線答題系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
計(jì)算機(jī)本科畢業(yè)論文-在線答題系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
計(jì)算機(jī)本科畢業(yè)論文-在線答題系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

摘要如今,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)日益成熟和校園網(wǎng)絡(luò)的普及,為網(wǎng)絡(luò)答題考試系統(tǒng)提供了良好的基礎(chǔ)。利用計(jì)算機(jī)以及網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)答題考試的信息化,具有傳統(tǒng)考試不可比的優(yōu)點(diǎn)。因此開發(fā)適應(yīng)信息時(shí)代的網(wǎng)絡(luò)答題考試系統(tǒng)是有必要的。首先本文對(duì)整個(gè)系統(tǒng)的設(shè)計(jì)需求和思路進(jìn)行了分析,并對(duì)各個(gè)部分進(jìn)行分析,形成一個(gè)科學(xué)的設(shè)計(jì)方案。在設(shè)計(jì)的過程中,采用了PyCharm作為系統(tǒng)開發(fā)工具,Django作為開發(fā)框架,以MySQL作為數(shù)據(jù)庫(kù)管理系統(tǒng),然后對(duì)系統(tǒng)進(jìn)行詳細(xì)的數(shù)據(jù)庫(kù)設(shè)計(jì)。然后,對(duì)系統(tǒng)的各個(gè)模塊組成進(jìn)行一一實(shí)現(xiàn)。在本設(shè)計(jì)的最后對(duì)系統(tǒng)的性能進(jìn)行了測(cè)試,根據(jù)調(diào)試結(jié)果,提出了改進(jìn),以促進(jìn)此系統(tǒng)在今后的工作中更好的運(yùn)行。本系統(tǒng)實(shí)現(xiàn)了用戶注冊(cè)、登錄,授權(quán)機(jī)制,機(jī)構(gòu)注冊(cè),答題首頁(yè)設(shè)計(jì),比賽詳情頁(yè)面,答題功能實(shí)現(xiàn),提交答案,批量錄入題庫(kù)和管理員后臺(tái)管理頁(yè)面等功能。關(guān)鍵詞:在線答題系統(tǒng);PyCharm;Django;MySQL;設(shè)計(jì)與實(shí)現(xiàn)

緒論研究背景在現(xiàn)代信息時(shí)代,計(jì)算機(jī)和互聯(lián)網(wǎng)在各個(gè)領(lǐng)域的應(yīng)用都越來越成熟和全面。在這一環(huán)境下,每個(gè)人的需求似乎都可以通過網(wǎng)絡(luò)來實(shí)現(xiàn),可以根據(jù)用戶的需求來靈活的定制學(xué)習(xí),也可以對(duì)學(xué)習(xí)的成果進(jìn)行快速和準(zhǔn)確的評(píng)價(jià)。在現(xiàn)代教育模式下,教師迫切需要一個(gè)科學(xué)性高、信息集成能力強(qiáng)的考試系統(tǒng)來提高考試和評(píng)閱的效率。而教育機(jī)構(gòu)也希望可以為學(xué)生提供一個(gè)更加靈活和全面的教育服務(wù),對(duì)學(xué)生的學(xué)習(xí)和測(cè)試情況進(jìn)行全面的跟進(jìn)。本次設(shè)計(jì)的在線答題測(cè)試系統(tǒng)便是基于這樣的一個(gè)背景下來開發(fā)出來的。此系統(tǒng)集成了先進(jìn)的互聯(lián)網(wǎng)應(yīng)用技術(shù)和功能,通過這一新型考試系統(tǒng),可以為學(xué)校提供更多的選擇,提高了工作的效率和考試標(biāo)準(zhǔn)化水平,也能夠讓學(xué)生、教師、教務(wù)管理者更好的來組織和參與測(cè)試過程。與傳統(tǒng)的測(cè)試方式進(jìn)行比較,在線答題測(cè)試系統(tǒng)有著很多優(yōu)勢(shì)。傳統(tǒng)的測(cè)試無論是在考試組織、場(chǎng)地安排、紙張印刷、閱卷點(diǎn)評(píng)等多個(gè)環(huán)節(jié)上都耗費(fèi)大量時(shí)間,而且效率低、成本高,而且人工批閱考卷也會(huì)存在出錯(cuò)的機(jī)會(huì)。隨著互聯(lián)網(wǎng)技術(shù)在教務(wù)管理中的應(yīng)用,像在線答題測(cè)試系統(tǒng)這種考試系統(tǒng)就顯得更加有優(yōu)勢(shì),一方面提高了考試過程的效率,另一方面也大大節(jié)約了成本,有效彌補(bǔ)了傳統(tǒng)考試的不足。研究目的與意義本次研究所設(shè)計(jì)與開發(fā)的在線答題測(cè)試系統(tǒng)目的在于更好的保障考試的效率和可靠性,提升考務(wù)過程的效率,降低了其他方面的時(shí)間和成本,更好的順應(yīng)現(xiàn)代教育信息化的發(fā)展要求,這也是未來教育行業(yè)的一個(gè)發(fā)展大趨勢(shì)。本次系統(tǒng)通過設(shè)計(jì)一個(gè)面向教學(xué)和考試的答題考試管理系統(tǒng),容易管理,方便維護(hù),兼容性高,可以滿足很多課程的測(cè)試和考核需要。通過本系統(tǒng),能夠?yàn)榻處熼_展隨堂測(cè)試和期末考試提供一個(gè)選擇機(jī)會(huì),也更加方便學(xué)生去自主學(xué)習(xí)和測(cè)試,同時(shí)系統(tǒng)中有大量的題庫(kù)可以供學(xué)生練習(xí)和學(xué)習(xí)。為了提高系統(tǒng)的科學(xué)性、可移植性、可擴(kuò)展性,在系統(tǒng)設(shè)計(jì)的過程中,采用的是基于B/S的三層體系結(jié)構(gòu)。這就要求了后臺(tái)數(shù)據(jù)中里面要包含了試題樣庫(kù),教師可以根據(jù)需要對(duì)試題實(shí)施編輯、添加和刪除等操作。教師可以加入新的考試科目,學(xué)生答題提交后可以立馬獲得答案,并且分析錯(cuò)題的問題。這樣以來,可以方便學(xué)生及時(shí)的發(fā)現(xiàn)錯(cuò)誤的原因,趁熱打鐵,提高學(xué)習(xí)效果,也可以快速的知道測(cè)試結(jié)果。此外,系統(tǒng)還可以為教師展示學(xué)生錯(cuò)題較多的地方,方便教師更好的針對(duì)性開展教學(xué)。另外,本系統(tǒng)還要具有一個(gè)操作性能好、用戶界面友好的功能,最大限度的降低操作出錯(cuò)的問題,且兼具保密性??偟膩碚f,本次所開發(fā)的在線答題測(cè)試系統(tǒng)和傳統(tǒng)測(cè)試方式比有著如下幾個(gè)具體的優(yōu)勢(shì):第一,高效節(jié)約。傳統(tǒng)的測(cè)試過程從制定測(cè)試計(jì)劃到試卷的編寫、印刷,再到考試的組織機(jī)后續(xù)的閱卷、成績(jī)統(tǒng)計(jì)都需要耗費(fèi)很多時(shí)間,而本次開發(fā)的系統(tǒng)是利用網(wǎng)絡(luò)技術(shù)開發(fā)的,答題全程無紙化,而且只需要在電腦面前答題,答題提交后可以立馬顯示成績(jī),并且對(duì)分?jǐn)?shù)進(jìn)行自動(dòng)合成,節(jié)約了很多成本。第二,準(zhǔn)確公正。傳統(tǒng)測(cè)試是人工批閱,無論是在試卷批改、成績(jī)合成和成績(jī)匯總的時(shí)候,都是由人來完成的,大量的重復(fù)性工作很容易產(chǎn)生錯(cuò)誤。而本次開發(fā)的系統(tǒng)采用的是標(biāo)準(zhǔn)化的試卷,利用數(shù)據(jù)庫(kù)的答案來進(jìn)行自動(dòng)批改,快速而且準(zhǔn)確公正,降低了人的主觀因素導(dǎo)致分?jǐn)?shù)的不客觀。第三,可有效杜絕答題考試的作弊現(xiàn)象。利用計(jì)算機(jī)答題系統(tǒng)可以打亂學(xué)生的試卷內(nèi)容,即便題目一樣,但是順序和選項(xiàng)的順序也有差異,所以可以避免抄襲問題,提高了考試的公正和公平性。研究?jī)?nèi)容在本文中,以模擬一套網(wǎng)絡(luò)答題系統(tǒng)的業(yè)務(wù)流程等工作內(nèi)容為基礎(chǔ),通過PyCharm工具實(shí)現(xiàn)在線答題測(cè)試系統(tǒng)的開發(fā)。相關(guān)技術(shù)基礎(chǔ)B/S架構(gòu)簡(jiǎn)介B/S架構(gòu)即瀏覽器和服務(wù)器架構(gòu)模式。這一架構(gòu)是隨著網(wǎng)絡(luò)技術(shù)興起而不斷發(fā)展及應(yīng)用的,這一結(jié)構(gòu)是在原來C/S架構(gòu)基礎(chǔ)上進(jìn)行改進(jìn)和變化后的。便能夠通過瀏覽器進(jìn)行系統(tǒng)界面操作,實(shí)現(xiàn)其想要的功能,在服務(wù)器上安裝相關(guān)的數(shù)據(jù)庫(kù)。MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),MySQL數(shù)據(jù)庫(kù)系統(tǒng)使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言結(jié)構(gòu)化查詢語(yǔ)言(SQL)進(jìn)行數(shù)據(jù)庫(kù)管理。SQL簡(jiǎn)介SQL(StructuredQueryLanguage,結(jié)構(gòu)查詢語(yǔ)言)是一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)語(yǔ)言。由它決定對(duì)指定數(shù)據(jù)存取的最快速度的手段,查詢優(yōu)化器知道存在什么索引,在哪兒使用索引合適,而用戶則從不需要知道表是否有索引、有什么類型的索引。PyCharm簡(jiǎn)介PyCharm是一種PythonIDE,帶有一整套可以幫助用戶在使用python語(yǔ)言開發(fā)時(shí)提高其效率的工具,比如調(diào)試、語(yǔ)法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動(dòng)完成、單元測(cè)試、版本控制。此外,該IDE提供了一些高級(jí)功能,以用于支持Django框架下的專業(yè)Web開發(fā)。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)業(yè)務(wù)需求分析本系統(tǒng)的用戶適用于所有的機(jī)構(gòu)或?qū)W校和社會(huì)人員,根據(jù)登錄、注冊(cè)、注冊(cè)機(jī)構(gòu)、出題、指定比賽類型、提交、評(píng)分等主要功能,具體功能如下:系統(tǒng)結(jié)構(gòu)設(shè)計(jì)根據(jù)需求分析中總結(jié)的用戶需求,本系統(tǒng)結(jié)構(gòu)如圖3-1所示。圖3-1系統(tǒng)功能模塊系統(tǒng)流程分析在進(jìn)行系統(tǒng)流程分析的過程中,就是要對(duì)用戶在系統(tǒng)應(yīng)用時(shí)候的工作過程進(jìn)行分析。在系統(tǒng)打開運(yùn)行之后,首先是進(jìn)入到登錄窗體界面,對(duì)用戶的登錄信息進(jìn)行驗(yàn)證。這其中包含了2個(gè)過程:第一是通過系統(tǒng)輸入的賬號(hào)和密碼驗(yàn)證其真實(shí)性。第二是確定用戶的類型(學(xué)生、教師或管理員)。第一個(gè)過程決定用戶是否有權(quán)限進(jìn)行到系統(tǒng)。第二個(gè)過程是判斷用戶的類型,決定其以何種權(quán)限進(jìn)行到系統(tǒng)下一步的操作中。假如要對(duì)普通用戶實(shí)施管理,那么就要進(jìn)入網(wǎng)站后臺(tái)用管理員賬號(hào)登錄,否則便是網(wǎng)站登錄首頁(yè)的用戶登錄頁(yè)面。假如還有其他用戶使用系統(tǒng),可以在用戶管理模塊進(jìn)行用戶的添加和創(chuàng)建。在創(chuàng)建的時(shí)候,需要輸入賬號(hào)、密碼和驗(yàn)證碼。管理員用戶還可以對(duì)普通用戶的賬號(hào)進(jìn)行修改和刪除操作。在本系統(tǒng)中,應(yīng)該首先驗(yàn)證用戶的信息,驗(yàn)證用戶信息有兩點(diǎn),一個(gè)是用戶注冊(cè),另一個(gè)是用戶登錄。對(duì)于注冊(cè)而言,用戶需要填寫注冊(cè)信息,然后系統(tǒng)對(duì)用戶填寫的注冊(cè)信息進(jìn)行驗(yàn)證,如果驗(yàn)證通過,會(huì)提示用戶到郵箱進(jìn)行最后的激活。對(duì)于用戶登錄,它的業(yè)務(wù)流程相對(duì)簡(jiǎn)單一些,首先用戶填寫登錄信息,然后對(duì)用戶填寫的登錄信息進(jìn)行驗(yàn)證,驗(yàn)證成功則登錄成功。登錄成功之后,機(jī)構(gòu)可以上傳題庫(kù),出題時(shí)需要錄入題庫(kù),在錄入題庫(kù)的平臺(tái)會(huì)提供一個(gè)下載的模板文件,用戶可以根據(jù)模板文件輸入題庫(kù),題庫(kù)里的題型目前只有兩種:選擇題和填空題,錄入完題庫(kù)就可以上傳至題庫(kù),此外答題機(jī)構(gòu)還可以配置比賽,比如配置題庫(kù)的類型和比賽的信息等,機(jī)構(gòu)出完踢之后,在規(guī)定的時(shí)間內(nèi),普通用戶就可以答題了,用戶選擇要答的題庫(kù)開始答題,在答題時(shí)用戶可以選擇上一題或者下一題,答完題點(diǎn)擊交卷提交試卷,答題時(shí)有倒計(jì)時(shí)提醒,如果在規(guī)定時(shí)間內(nèi)沒有完成答卷,則不錄入成績(jī),如果答題完成,可以查看排行榜,還可以查看折線圖分析答題結(jié)果。本系統(tǒng)中,系統(tǒng)業(yè)務(wù)流程包括登錄首頁(yè),進(jìn)行用戶驗(yàn)證、注冊(cè),機(jī)構(gòu)的驗(yàn)證、注冊(cè),進(jìn)行出題、答題,提交,打分,折線圖分析等。系統(tǒng)業(yè)務(wù)的流程如圖3-2所示。圖3-2系統(tǒng)業(yè)務(wù)流程數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)在線答題測(cè)試系統(tǒng)使用MySQL數(shù)據(jù)庫(kù)來存儲(chǔ)數(shù)據(jù),數(shù)據(jù)庫(kù)名為exam,共包含12張數(shù)據(jù)表嗎,分別為:account_profile: 用戶信息表account_useinfo: 用戶填寫信息表business_appconfiginfo: 機(jī)構(gòu)app配置表business_businessaccountinfo: 機(jī)構(gòu)賬戶表business_businessappinfo: 機(jī)構(gòu)app表business_userinfoimage: 表單圖片鏈接表business_userinforegex: 表單驗(yàn)證正則表competition_bankinfo: 題庫(kù)信息表competition_choiceinfo: 選擇題表competition_competitionkindinfo: 比賽信息表competition_competitionqainfo: 答題記錄表competition_fillinblankinfo: 填空題表Account負(fù)責(zé)用戶信息的處理,包括注冊(cè)、登錄、驗(yàn)證等功能。Analysis負(fù)責(zé)數(shù)據(jù)分析功能。Business負(fù)責(zé)管理機(jī)構(gòu)信息。Competition負(fù)責(zé)比賽信息的處理。Config負(fù)責(zé)系統(tǒng)的配置信息,包括數(shù)據(jù)庫(kù)、redis等配置。Utils是一個(gè)工具集,封裝了一些系統(tǒng)所用的到工具。Web中存放的是項(xiàng)目的前端代碼文件。Api接口功能。Backup用戶存儲(chǔ)機(jī)構(gòu)賬戶上傳題庫(kù)文件的。Tmp存儲(chǔ)log日志的目錄。在業(yè)務(wù)處理的模塊的每個(gè)模塊中都有一個(gè)models.py的文件,這個(gè)文件封裝了對(duì)應(yīng)模塊的數(shù)據(jù)庫(kù)操作類,在通常情況下,類的成員變量與對(duì)應(yīng)的表中的字段名相同。Profile類用來管理表account_profile的數(shù)據(jù)庫(kù)操作。UserInfo類用來管理表account_useinfo的數(shù)據(jù)庫(kù)操作。BusinessAccountInfo類用來管理表business_businessaccountinfo的數(shù)據(jù)庫(kù)操作。BusinessAppInfo類用來管理表business_businessappinfo的數(shù)據(jù)庫(kù)操作。AppConfigInfo類用來管理表business_appconfiginfo的數(shù)據(jù)庫(kù)操作。UserInfoImage類用來管理表business_userinfoimage的數(shù)據(jù)庫(kù)操作。UserInfoRegex類用來管理表business_userinforegex的數(shù)據(jù)庫(kù)操作。BankInfo類用來管理表competition_bankinfo的數(shù)據(jù)庫(kù)操作。ChoiceInfo類用來管理表competition_choiceinfo的數(shù)據(jù)庫(kù)操作。FillInBlankInfo類用來管理表competition_fillinblankinfo的數(shù)據(jù)庫(kù)操作。CompetitionQAInfo類用來管理表competition_competitionqainfo的數(shù)據(jù)庫(kù)操作。CompetitionKindInfo類用來管理表competition_competitionkindinfo的數(shù)據(jù)庫(kù)操作。1、用戶信息表account_profile,保存授權(quán)后的用戶信息,結(jié)構(gòu)如表3-1所示。表3-1表account_profile的結(jié)構(gòu)名類型長(zhǎng)度不是nullidint11是statustinyint1是created_atdatetime6是updated_atdatetime6是uidvarchar22user_srcint11是user_statusint11是unionidvarchar32openidvarchar32wxidvarchar32namevarchar32emailvarchar40sexint11是ageint11是nicknamevarchar32avatarvarchar60phonevarchar11countryvarchar32procincevarchar32cityvarchar32locationvarchar60is_upgardeint11是upgarde_timedatetime6expire_timedatetime6upgarde_countint11是2、用戶填寫信息表account_useinfo,保存用戶參與比賽時(shí)填寫的信息,結(jié)構(gòu)如表3-2所示。表3-2account_useinfo的結(jié)構(gòu)名類型長(zhǎng)度不是nullidint11是statustinyint1是created_atdatetime6是updated_atdatetime6是kind_atvarchar32uidvarchar32namevarchar24sexvarchar1ageint11phonevarchar11wxidvarchar24emailvarchar60pidvarchar18graduated_fromvarchar60addressvarchar603、機(jī)構(gòu)app配置表business_appconfiginfo,保存機(jī)構(gòu)app的配置信息。結(jié)構(gòu)如表3-3所示。表3-3business_appconfiginfo的結(jié)構(gòu)名類型長(zhǎng)度不是nullidint11是statustinyint1是created_atdatetime6是updated_atdatetime6是app_idvarchar32是app_namevarchar40rule_textlongtext0is_show_userinfotinyint1是userinfo_fieldsvarchar128option_fieldsvarchar128userinfo_fields_namesvarchar1284、機(jī)構(gòu)賬戶表business_businessaccountinfo,保存機(jī)構(gòu)賬戶的信息。結(jié)構(gòu)如表3-4所示。表3-4business_businessaccountinfo的結(jié)構(gòu)名類型長(zhǎng)度不是nullidint11是statustinyint1是created_atdatetime6是updated_atdatetime6是account_idvarchar22是emailvarchar40company_namevarchar60company_descriptionlongtext0company_usernamevarchar32company_phonevarchar16company_locationlongtext0company_typeint11是5、機(jī)構(gòu)app表business_businessappinfo,保存機(jī)構(gòu)應(yīng)用的信息。結(jié)構(gòu)如表3-5所示。表3-5 表business_businessappinfo的結(jié)構(gòu)名類型長(zhǎng)度不是nullidint11是statustinyint1是created_atdatetime6是updated_atdatetime6是account_idvarchar32是app_idvarchar22是app_namevarchar40app_descriptionlongtext05、表單圖片鏈接表business_userinfoimage,保存每個(gè)表單圖片字段的鏈接。結(jié)構(gòu)如表3-6所示。表3-6 business_userinfoimage的結(jié)構(gòu)名類型長(zhǎng)度不是nullidint11是statustinyint1是created_atdatetime6是updated_atdatetime32是uii_namevarchar60namevarchar60sexvarchar60agevarchar60phonevarchar60wxidvarchar60emailvarchar60pidvarchar60graduated_fromvarchar60addressvarchar60resumevarchar606、表單驗(yàn)證正則表business_userinforegex,保存每個(gè)表單字段的正則表達(dá)式信息。結(jié)構(gòu)如表3-7所示。表3-7business_userinforegex的結(jié)構(gòu)名類型長(zhǎng)度不是nullidint11是statustinyint1是created_atdatetime6是updated_atdatetime6是field_namevarchar16regexvarchar40descriptionvarchar40是7、題庫(kù)信息表competition_bankinfo,保存題庫(kù)的信息。結(jié)構(gòu)如表3-8所示。表3-8competition_bankinfo的結(jié)構(gòu)名類型長(zhǎng)度不是nullidint11是statustinyint1是created_atdatetime6是updated_atdatetime6是bank_idvarchar22choice_numint11是fillinblank_numint11是bank_typeint11是kind_numint11是bank_namevarchar40uidvarchar32account_idvarchar328、選擇題表competition_choiceinfo,保存選擇題的信息。結(jié)構(gòu)如表3-9所示。表3-9competition_choiceinfo的結(jié)構(gòu)名類型長(zhǎng)度不是nullidint11是statustinyint1是created_atdatetime6是updated_atdatetime6是image_urlvarchar255audio_timevarchar255是bank_idint11ctypevarchar32是questionint11answervarchar255item1varchar255item2varchar255item3varchar255item4varchar255sourcevarchar2559、比賽信息表competition_competitionkindinfo,保存比賽的信息和比賽的配置信息。結(jié)構(gòu)如表3-10所示。表3-10competition_competitionkindinfo的結(jié)構(gòu)名類型長(zhǎng)度不是nullidint11是statustinyint1是created_atdatetime6是updated_atdatetime6是kind_idvarchar22account_idvarchar32app_idvarchar32bank_idvarchar32kind_typeint11是kind_namevarchar32sponsor_namevarchar60total_sourceInt11是question_numint11是cop_startatdatetime6是perid_timeint11是cop_finishatdatetime6total_partin_numint11是10、答題記錄表competition_competitionqainfo,保存答題記錄的信息。結(jié)構(gòu)如表3-11所示。表3-11competition_competitionqainfo的結(jié)構(gòu)名類型長(zhǎng)度不是nullidint11是statustinyint11是created_atdatetime6是updated_atdatetime6是kind_idvarchar32qa_idvarchar22uidvarchar32qsrecordlongtext0asrecordlongtext0aslogrecordlongtext0started_stampbigint20是finished_stampbigint20是expend_stampint11是startedtinyint1是finishedtinyint1是corrected_numint11是incorrected_numint11是total_numint11是scoredouble0是correct_listvarchar10000wrong_listvarchar1000011、填空題表competition_fillinblankinfo,保存填空題的信息。結(jié)構(gòu)如表3-12所示。表3-12competition_fillinblankinfo的結(jié)構(gòu)名類型長(zhǎng)度不是nullidint11是statustinyint1是created_atdatetime6是updated_atdatetime6是image_urlvarchar255audio_urlvarchar255audio_timeint11是bank_idvarchar32questionaudio255answervarchar255sourcevarchar255系統(tǒng)詳細(xì)設(shè)計(jì)設(shè)計(jì)首頁(yè)面和主頁(yè)面首頁(yè)可以理解為是一個(gè)系統(tǒng)的歡迎頁(yè)面,它的功能很簡(jiǎn)單,就是一個(gè)友好的頁(yè)面,這個(gè)頁(yè)面只是一張靜態(tài)圖片,點(diǎn)擊圖片任意位置跳轉(zhuǎn)進(jìn)入主頁(yè)面。首頁(yè)面如圖:4-1所示。圖4-1首頁(yè)面主頁(yè)面如圖:4-2所示:圖4-2主頁(yè)面首頁(yè)面跳轉(zhuǎn)主頁(yè)面的代碼如下:<bodyclass="index-body"><imgid="index"src="{%static'img/index4.PNG'%}"/><script>{#$(document).ready(function(){#}{#$('.index').css('cursor','pointer');#}{#});#}$(document).click(function(){window.location.href='/index'})</script></body>設(shè)計(jì)登錄頁(yè)面當(dāng)系統(tǒng)從首頁(yè)面跳轉(zhuǎn)到主頁(yè)面時(shí),答題的時(shí)候需要先進(jìn)行登錄操作,只有有權(quán)限的用戶才能進(jìn)入答題系統(tǒng)。登錄成功后,將顯示在主頁(yè)面上,登錄頁(yè)面如圖4-3所示。圖4-3登錄頁(yè)面用戶在輸入郵箱、密碼和驗(yàn)證碼的時(shí)候系統(tǒng)會(huì)檢測(cè)用戶輸入的是否匹配,如果不匹配會(huì)提示用戶輸入錯(cuò)誤,如圖4-4所示。圖4-4用戶信息輸入錯(cuò)誤匹配成功后,會(huì)在原登錄按鈕出顯示出用戶名稱,如圖4-5所示。圖4-5登錄成功后顯示用戶名核心代碼如下:defnormal_login(request):"""普通登錄視圖:paramrequest:請(qǐng)求對(duì)象:return:返回json數(shù)據(jù):user_info:用戶信息;has_login:用戶是否已登錄"""email=request.POST.get('email','')password=request.POST.get('password','')sign=request.POST.get('sign','')模塊設(shè)計(jì)模塊包括了,出題、答題和平臺(tái)管理員等。出題管理出題模塊主要功能是為用戶提供一個(gè)出題的模板,用戶可以按照模板中的規(guī)則進(jìn)行出題,出題完成之后,將模板再次上傳到系統(tǒng)中,就可以配置比賽或者答題,出題的流程如圖4-6所示。圖4-6出題的流程下載模板和上傳題庫(kù)的核心代碼如下:defindex(request):"""題庫(kù)和比賽導(dǎo)航頁(yè):paramrequest:請(qǐng)求對(duì)象:return:渲染視圖和user_info用戶信息數(shù)據(jù)配置題庫(kù)頁(yè)面答題流程選擇剛剛我們創(chuàng)建答題,進(jìn)入答題頁(yè)面,點(diǎn)擊開始挑戰(zhàn),首先需要先填寫用戶信息,填寫完用戶信息,進(jìn)入答題頁(yè)面。答題的過程中,我們的題目是從題庫(kù)隨機(jī)抽取的,比如說我們題庫(kù)中題的數(shù)量是10000道,而我們選擇出題的時(shí)候,題目數(shù)量為10,就是從10000道題里面隨機(jī)抽取10道題。打完題后點(diǎn)擊提交,提交之后會(huì)統(tǒng)計(jì)出分?jǐn)?shù)與排名,可以查看排名。答題的流程如圖4-7所示。圖4-7答題的流程答題功能核心代碼如下:###檢測(cè)用戶是否登錄###defcheck_login(func=None):ifnotuid:ifrequest.path.startswith('/bs'):returnrender(request,'err.html',ProfileNotFound)elifrequest.path.startswith('/api'):returnjson_response(*ProfileError.ProfileNotFound)returnfunc(request,*args,**kwargs)平臺(tái)管理員平臺(tái)管理員擁有最高的權(quán)限,管理員可以在后臺(tái)添加機(jī)構(gòu)、比賽信息、應(yīng)用等等。在后臺(tái)我們可以查看站點(diǎn)管理的信息,如用戶信息、用戶登記信息、出題賬戶、應(yīng)用信息等。平臺(tái)管理員的功能如圖4-8所示。圖4-8平臺(tái)管理員管理員還可以為機(jī)構(gòu)設(shè)置比賽類別的信息,進(jìn)入比賽類別信息,添加一個(gè)比賽類別信息,我需要填寫三個(gè)id,分別是出題賬戶id、應(yīng)用id和題庫(kù)id,然后根據(jù)需求完成信息的填寫,這里可以設(shè)置總分?jǐn)?shù)、題目的個(gè)數(shù)、比賽的時(shí)間等功能。這樣可以使系統(tǒng)靈活應(yīng)用,既可以讓答題機(jī)構(gòu)自己配置比賽,管理員也可以為機(jī)構(gòu)配置比賽。系統(tǒng)測(cè)試在本系統(tǒng)當(dāng)中,由于大部分都是與表單交互的數(shù)據(jù)處理,所以我們主要采用了黑盒測(cè)試為主的測(cè)試方法,將系統(tǒng)中所有的流程都按照正常的途徑測(cè)試一次。測(cè)試點(diǎn)如下:1、頁(yè)面是否跳轉(zhuǎn)異常2、數(shù)據(jù)庫(kù)信息是否按預(yù)想結(jié)果發(fā)生變化3、系統(tǒng)運(yùn)行是否正確4、數(shù)據(jù)顯示是否正確在正常操作的基礎(chǔ)上,我們引入了異常處

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論