国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SSSDJ框架的智能組卷系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2023-06-25 04:07:10張旭易翔李雨桐王玲
現(xiàn)代信息科技 2023年7期

張旭 易翔 李雨桐 王玲

摘? 要:傳統(tǒng)考試需要人工出題、排版,設(shè)計(jì)答案和答題紙,撰寫上交學(xué)校的各種相關(guān)資料,工作量大,耗時(shí)長(zhǎng),因此設(shè)計(jì)了基于SSSDJ框架(Spring、SpringMVC、SpringDataJPA)的智能組卷系統(tǒng),該系統(tǒng)提供智能組卷、題量分配、指定題目、題庫(kù)下載等功能。系統(tǒng)設(shè)計(jì)完成后對(duì)試卷模板進(jìn)行了測(cè)試,測(cè)試結(jié)果表明,該系統(tǒng)能夠?qū)崿F(xiàn)高效智能組卷的目標(biāo),并能夠同步生成各種所需材料。

關(guān)鍵詞:SSSDJ框架;智能組卷系統(tǒng);交互式Web應(yīng)用

中圖分類號(hào):TP311.1? ? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):2096-4706(2023)07-0042-04

Abstract: Traditional examinations require manual qureseion setting, typesetting, designing answers and answer sheets, and writing all kinds of relevant materials submitted to the school, which is a heavy workload and time-consuming. Therefore, an intelligent test paper generation system based on SSSDJ framework (Spring, SpringMVC, SpringDataJPA) is designed, which provides functions such as intelligent test paper generation, test volume allocation, designated questions, and test bank download. After the system design is completed, the test paper template is tested. The test results show that the system can achieve the goal of efficient and intelligent test paper generation, and can synchronously generate various required materials.

Keywords: SSSDJ framework; intelligent test paper generation system; interactive Web application

0? 引? 言

信息化技術(shù)以及計(jì)算機(jī)技術(shù)的不斷更迭,促使現(xiàn)代化教育與計(jì)算機(jī)技術(shù)相融合,傳統(tǒng)的考試方式也面臨著大變革。傳統(tǒng)考試方式需要耗費(fèi)大量的人力成本和時(shí)間成本來組卷,很多學(xué)者針對(duì)此問題展開研究,有基于動(dòng)態(tài)抽題算法設(shè)置適應(yīng)度函數(shù)并構(gòu)建系統(tǒng)流程[1],但組成試卷形式較單一,很難滿足多課程需求;有利用Springboot+Vue進(jìn)行學(xué)生弱項(xiàng)分析[2],可以作為組卷的依據(jù)之一;有研究單一學(xué)科系統(tǒng)設(shè)計(jì)[3],不同學(xué)科會(huì)有不同的形式需求,因此較難擴(kuò)展;還有基于遺傳算法[4]設(shè)計(jì)組卷策略,但算法復(fù)雜度較高。針對(duì)當(dāng)前缺少操作簡(jiǎn)單、界面清晰、功能便捷且能夠滿足多學(xué)科需要系統(tǒng)的現(xiàn)狀,力求通過提高組卷效率同時(shí)滿足特定教學(xué)需求的目的。

1? 研究背景

以某高校為例,出一份完整試卷需要編排“A試卷”“A試卷答案”“A試卷答題紙”“A試卷考試命題計(jì)劃表”“高校試卷送印審批登記表”,還需編排出一套滿足不同重復(fù)率的B試卷。從工作量上來說就是一個(gè)不小的“工程”,還需考慮其綜合性、實(shí)用性和針對(duì)性等。

2? 組卷系統(tǒng)軟件設(shè)計(jì)

2.1? 技術(shù)框架介紹

組卷系統(tǒng)的呈現(xiàn)方式是一種交互式網(wǎng)頁(yè)界面,JavaWeb是一種互聯(lián)網(wǎng)開發(fā)技術(shù),基于JavaWeb可實(shí)現(xiàn)前后端開發(fā)分離,因此JavaWeb成為系統(tǒng)開發(fā)首選技術(shù),早期JavaWeb是基于JSP[5]開發(fā)方式,這種開發(fā)方式效率較低,且開發(fā)過程中難以定位錯(cuò)誤代碼段,不利于團(tuán)隊(duì)分工合作,開發(fā)效果達(dá)不到預(yù)期,因此最終選擇以Springboot+Vue的開發(fā)方式設(shè)計(jì)智能組卷系統(tǒng),旨在提高組卷效率,降低出卷時(shí)間成本。

2.1.1? 前端技術(shù)框架

Vue是一款用于構(gòu)建用戶界面的JavaScript框架。它基于標(biāo)準(zhǔn)HTML、CSS和JavaScript而構(gòu)建,并提供一套聲明式、組件化的編程模型。無論簡(jiǎn)單界面還是復(fù)雜界面,Vue均可勝任。

前端采用prime Vue來編寫,prime Vue代碼編寫簡(jiǎn)單,易于理解,方便后期代碼維護(hù)且利于后期系統(tǒng)界面更新,最突出的優(yōu)勢(shì)在于可以對(duì)數(shù)據(jù)進(jìn)行雙向綁定。相較傳統(tǒng)超鏈接進(jìn)行頁(yè)面的切換與跳轉(zhuǎn),prime Vue使用的是路由,而不用刷新頁(yè)面。prime Vue是單頁(yè)應(yīng)用,加載時(shí)不用獲取所有數(shù)據(jù)和Dom,提高了加載速度,優(yōu)化了用戶體驗(yàn)。prime Vue的第三方組件庫(kù)豐富,使用方便,提高了開發(fā)效率。

2.1.2? 后端技術(shù)框架

Spring Boot實(shí)現(xiàn)了自動(dòng)化配置,相對(duì)Spring來說只需進(jìn)行一些必要的配置即可。在使用Spring的時(shí)候,需要編寫大量的xml配置文件,在這個(gè)xml配置文件中會(huì)書寫大量的Bean實(shí)例以及一些其他配置。而SpringBoot做了大量封裝,替代原有的xml配置,并做了簡(jiǎn)化,使得代碼邏輯更加清晰,后期閱讀更加簡(jiǎn)單。Spring MVC屬于SpringFramework的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面。Spring MVC分離了控制器、模型對(duì)象、分派器以及處理程序?qū)ο蟮慕巧?,這種分離讓它們更容易定制。

后端采用Spring Data JPA而沒有采用主流的Mybatis,Spring Data JPA簡(jiǎn)化了接口層的開發(fā),相對(duì)于傳統(tǒng)的JPA實(shí)現(xiàn)(hibernate-jpa、openJPA),如果使用SpringDataJPA完成代碼,可以做到DAO層零實(shí)現(xiàn),還可提高封裝度。SpringData對(duì)JPA的實(shí)現(xiàn)提供了良好的API支持,可更加快速地完成對(duì)數(shù)據(jù)庫(kù)的操作——SpringDataJPA提供了一些常用的CRUD抽象方法,供直接調(diào)用。

2.2? 數(shù)據(jù)庫(kù)和模板設(shè)計(jì)

2.2.1? 數(shù)據(jù)庫(kù)

采用MySQL數(shù)據(jù)庫(kù),MySQL性能卓越,服務(wù)穩(wěn)定,很少出現(xiàn)異常宕機(jī),開放源代碼且無版權(quán)制約,自主性強(qiáng),使用成本低,軟件體積小,安裝使用簡(jiǎn)單,易于維護(hù)、安裝并且維護(hù)成本低。MySQL不僅可以在Windows系列操作系統(tǒng)上運(yùn)行,還可以在UNIX、Linux和Mac OS等操作系統(tǒng)上運(yùn)行。因?yàn)橛泻芏嘤脩暨x擇UNIX、Linux作為網(wǎng)站服務(wù)器,MySQL的跨平臺(tái)性保證了其在Web應(yīng)用方面的優(yōu)勢(shì)。雖然微軟公司的SQL Server數(shù)據(jù)庫(kù)是一款優(yōu)秀的商業(yè)數(shù)據(jù)庫(kù),但是其只能在Windows系列操作系統(tǒng)上運(yùn)行。因此,利用MySQL數(shù)據(jù)庫(kù)的跨平臺(tái)性可將組卷系統(tǒng)移植到內(nèi)網(wǎng)服務(wù)器上,適用于校園網(wǎng)服務(wù)。

建立“course”表,保存課程信息,包括課程名稱、課程代碼、所屬學(xué)院、測(cè)試學(xué)院、測(cè)試班級(jí)等字段;建立“question”表,保存考試題目,包括題目、答案、所屬學(xué)科、難度等級(jí)(基本、中等、提高)、題目類型(填空、選擇、判斷……)、題目ID、考核知識(shí)點(diǎn)、考核要求、分值等字段;建立“user”表,保存用戶信息,包括用戶名和密碼字段。

2.2.2? 建立試卷模板

采用xml語(yǔ)言預(yù)制試卷模板,標(biāo)記占位符,利用后臺(tái)HashMap集合來存儲(chǔ)題目信息,最終生成考卷。Word本身具有非常強(qiáng)大的文字處理功能,是日常泛化使用的工具,而在組卷系統(tǒng)的設(shè)計(jì)中,技術(shù)問題聚焦于如何用Java操作Word。在基于技術(shù)選型后,發(fā)現(xiàn)XML是最佳的技術(shù)手段——首先用Office編輯Word樣式,然后另存為xml,將xml翻譯為FreeMarker模板,最后用Java來解析FreeMarker模板并輸出Word文檔。在繁瑣的試卷設(shè)計(jì)中,可以保留核心通用部分,而通過外部包的方式聯(lián)系Word和Java,替換Word模板中的占位符,使組卷系統(tǒng)可以隨意更改內(nèi)容,使試卷本身具有內(nèi)容易控,打印不變形,完全符合Office標(biāo)準(zhǔn)的優(yōu)勢(shì)。標(biāo)記方式如圖1所示。

2.3? 組卷系統(tǒng)核心算法設(shè)計(jì)

考慮到試卷的隨機(jī)性和綜合性,系統(tǒng)采用較為暴力的算法——按照比例隨機(jī)抽取。用戶在首頁(yè)設(shè)置基本、中等、困難三種難度題目所占百分比,系統(tǒng)按照用戶設(shè)置的百分比從數(shù)據(jù)庫(kù)中隨機(jī)提取不同難度的題目,同時(shí)將題目相關(guān)信息也都提取到系統(tǒng)中,為生成其他資料所用。流程圖如圖2所示,算法偽代碼如下:

AllQuestionList? ?- 所有題目列表

EasyPercent? ? - 基本題比例

MedPercent? - 中等題比例

HardPercent? ? - 困難題比例

QuestionNumber - 題目總量

EasyQuestionList-基本題列表

MediumQuestionList-中等題列表

HardQuestionList-困難題列表

QuestionList-所選中的題目列表

EasyQuestionList=AllQuestionList->Easy;

MedQuestionList=AllQuestionList ->Med;

HardQuestionList=AllQuestionList->Hard;

for(i=0;i

{

Start:

for(j=0;j

{

List=EasyQuestionList->random;

for(k=0;k

{

if (QuestionList[k].equals(list)==true)break;

}

if(k==QuestionList.length)

QuestionList[j]=list;

elsej--;

}

Medium,Hard->Start;

}

End;

QuestionList.put(“試卷.doc”);

2.4? 系統(tǒng)主要功能設(shè)計(jì)

2.4.1? 管理員登錄

進(jìn)入系統(tǒng)會(huì)首先進(jìn)入管理員登錄界面,需要輸入管理員賬號(hào)和密碼,賬號(hào)一般為命題人姓名全稱,密碼由管理員設(shè)置。由于涉及到教育保密問題,故未安排注冊(cè)功能,當(dāng)前僅設(shè)置管理員可以進(jìn)入系統(tǒng)。

登錄系統(tǒng)時(shí),管理員輸入賬號(hào)和密碼,后臺(tái)通過UserController.Login()方法調(diào)用userService.Login()方法,通過userRepository.findAllByUsername()接口方法來判斷該用戶是否為管理員,若該用戶是管理員,則通過user.getPassword().equals(user1.getPassword())方法判斷密碼是否正確,密碼正確則進(jìn)入系統(tǒng),密碼錯(cuò)誤則提示“密碼錯(cuò)誤”;若該用戶不是管理員,系統(tǒng)則提示“該用戶非管理員”。

2.4.2? 智能組卷

管理員登錄成功進(jìn)入系統(tǒng)后,可以編輯首頁(yè)信息,需要填寫對(duì)應(yīng)的試卷信息(如學(xué)年、學(xué)期、課程名稱、課程所屬部門、課程編號(hào)、考試方式、使用學(xué)院、使用班級(jí)),還可調(diào)整基本、中等、困難三種難度題目的占比,以百分制形式輸入。點(diǎn)擊“設(shè)置”按鈕可進(jìn)入設(shè)置界面,選擇題量分配,可分配題目類型、題目數(shù)量以及每題分值等。

管理員編輯試卷信息后,點(diǎn)擊“生成”按鈕,后臺(tái)通過MessageController.getMessage()方法獲取管理員所填寫的信息,調(diào)用questionService.FindAll()方法,通過questionRepository.findAllByCourseAndTypeAndLevel()接口方法獲取數(shù)據(jù)庫(kù)中該課程的所有題目,并按照難度分成EasyQuestionList、MediumQuestionList、HardQuestionList,將所有信息傳輸?shù)絫estApplication類中,通過getRandomNumList()方法函數(shù)確保題目不重復(fù),再通過test()方法中的組卷算法生成試卷,Answer()方法對(duì)應(yīng)生成答案,answerSheet()方法對(duì)應(yīng)生成答題紙,getSurplusProcess()方法對(duì)應(yīng)生成命題計(jì)劃表,propositionalSchedule()方法對(duì)應(yīng)生成送印審批表等。

2.4.3? 題庫(kù)下載

對(duì)于學(xué)生而言,學(xué)習(xí)是他們的本職工作,但每個(gè)學(xué)生的學(xué)習(xí)方式各不相同,而學(xué)校的教育方式基本上都大致相同,所以難免會(huì)有學(xué)生不能接受傳統(tǒng)的教育方式,學(xué)習(xí)成績(jī)自然也就一落千丈,而為了幫助這些同學(xué)更好地學(xué)習(xí)和復(fù)習(xí)知識(shí),系統(tǒng)設(shè)置界面設(shè)有“題庫(kù)下載”功能,教師可自行下載一些題目提供給考生復(fù)習(xí)之用。題庫(kù)下載功能也能方便教師查看題庫(kù)中的現(xiàn)有題目,并且可以對(duì)題庫(kù)進(jìn)行優(yōu)化。

管理員進(jìn)入設(shè)置界面,選擇題庫(kù)下載,鍵入課程名稱,后臺(tái)通過QuestionController.questionBank()方法獲取課程名稱,調(diào)用testApplication.questionBank()方法生成題庫(kù),通過testApplication.bankCompress()將題庫(kù)壓縮為“bank.7z”格式,通過BankDownload()方法利用java中的output Stream文件輸出流將后臺(tái)打包好的文件傳輸給管理員。

2.4.4? 信息錄入

隨著教育研究的不斷深入細(xì)化,考題也需隨之更新,系統(tǒng)設(shè)置界面設(shè)有“題目錄入”功能,管理員可自行錄入新題,并對(duì)新題目做好標(biāo)記。系統(tǒng)設(shè)置界面還設(shè)有“管理員錄入”功能,只可以在系統(tǒng)內(nèi)部添加管理員,防止他人惡意登錄系統(tǒng)。

管理員進(jìn)入設(shè)置界面后,選擇題目錄入,輸入新題相關(guān)信息,后臺(tái)通過QuestionController.save()調(diào)用questionService.

Save()方法,通過questionRepository.save()方法按照Question實(shí)體類的字段將管理員鍵入的題目保存到數(shù)據(jù)庫(kù)“question”表中。選擇管理員錄入,輸入新管理員的用戶名和密碼,后臺(tái)通過UserController.save()調(diào)用userService.Save()方法,通過userRepository.save()方法按照User實(shí)體類的字段將新的管理員賬戶加入“user”表中。

3? 功能實(shí)現(xiàn)

管理員輸入賬號(hào)密碼登錄系統(tǒng)后,鍵入試卷信息,后臺(tái)通過*Controller()方法獲取信息,通過testApplication.*()方法生成好試卷打包壓縮為“out.7z”后傳輸給管理員,圖3為管理員交互界面,首頁(yè)提示管理員若不設(shè)置題目數(shù)量,會(huì)按照默認(rèn)的“5題填空、5題選擇、5題判斷、5題簡(jiǎn)答、3題綜合”格式進(jìn)行組卷,右上角會(huì)顯示當(dāng)前登錄的管理員,組成的試卷上“命題人”即為當(dāng)前登錄的管理員,設(shè)置界面設(shè)有信息錄入、題庫(kù)下載、題量分配、返回首頁(yè)等功能,需要退出系統(tǒng)可點(diǎn)擊管理員圖標(biāo),點(diǎn)擊“Exit”按鈕即可退出系統(tǒng)。圖4為組卷系統(tǒng)生成的試卷,利用圖3中管理員輸入的試卷信息,根據(jù)圖1試卷模板所生成,完全符合office格式要求。

4? 結(jié)? 論

經(jīng)過測(cè)試得知,系統(tǒng)能夠高效率完成組卷任務(wù),所生成的試卷符合考試要求,難易程度把握較合理,同時(shí)能夠兼顧考題的綜合性、實(shí)用性、針對(duì)性等。核心算法是一種較為暴力的組卷算法,使得所組成的試卷充滿不確定性,通過系統(tǒng)的其他功能可以對(duì)試卷題目進(jìn)行人為控制,提高系統(tǒng)的完整性。根據(jù)每個(gè)學(xué)校考試的試卷模板,重新制作即可推廣使用,使系統(tǒng)的可擴(kuò)展性很強(qiáng)。系統(tǒng)運(yùn)行效率依賴于網(wǎng)絡(luò)性能,網(wǎng)絡(luò)癱瘓也會(huì)導(dǎo)致系統(tǒng)癱瘓,后期可根據(jù)需求改良為本地模式。

參考文獻(xiàn):

[1] 胡榮.基于動(dòng)態(tài)抽題算法的智能組卷系統(tǒng)設(shè)計(jì) [J].信息與電腦:理論版,2021,33(12):42-44.

[2] 施展,朱彥.基于Vue與SpringBoot框架的學(xué)生成績(jī)分析和弱項(xiàng)輔助系統(tǒng)設(shè)計(jì) [J].信息技術(shù)與信息化,2022(8):127-131.

[3] 魏路通.衛(wèi)生統(tǒng)計(jì)學(xué)智能組卷系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [D].北京:北京協(xié)和醫(yī)學(xué)院,2021.

[4] 趙博,寧慧,張汝波.基于遺傳算法的智能組卷系統(tǒng)的研究與實(shí)現(xiàn) [J].應(yīng)用科技,2021,48(2):50-53.

[5] 楊子鑫,余小蘭.基于SSM的農(nóng)產(chǎn)品銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].現(xiàn)代信息科技,2021,5(15):33-35+39.

作者簡(jiǎn)介:張旭(1982—),男,漢族,江蘇宿遷人,講師,工學(xué)博士,研究方向:信息技術(shù)、網(wǎng)絡(luò)編程;易翔(2000—),男,漢族,江蘇溧陽(yáng)人,本科在讀,研究方向:軟件技術(shù)開發(fā);李雨桐(2001—),男,漢族,江蘇溧陽(yáng)人,本科在讀,研究方向:軟件技術(shù)開發(fā);王玲(2000—),女,漢族,江蘇鎮(zhèn)江人,本科在讀,研究方向:網(wǎng)絡(luò)技術(shù)。

普兰店市| 双城市| 子长县| 和政县| 天全县| 嘉鱼县| 阜城县| 昆明市| 枞阳县| 拉孜县| 辽阳市| 阳朔县| 大埔区| 山东省| 南投市| 扎赉特旗| 新乡市| 萨嘎县| 天气| 涿州市| 巍山| 乌恰县| 阜平县| 工布江达县| 崇礼县| 喀什市| 石阡县| 辉县市| 民乐县| 新兴县| 通化市| 密云县| 琼海市| 鄂尔多斯市| 米泉市| 青田县| 临夏市| 涟水县| 广丰县| 灌云县| 泗洪县|