亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Bootstrap+spring boot框架的在線考試系統(tǒng)開發(fā)

        2019-12-07 08:37:30葉惠仙沈文杰
        關(guān)鍵詞:科目試卷框架

        ◆葉惠仙 沈文杰

        基于Bootstrap+spring boot框架的在線考試系統(tǒng)開發(fā)

        ◆葉惠仙 沈文杰

        (福建農(nóng)業(yè)職業(yè)技術(shù)學(xué)院 福建 350007)

        Internet的開放分布性特點(diǎn)使各種考試突破了時間和空間限制,該在線考試系統(tǒng)設(shè)計使用Bootstrap+spring boot框架,實(shí)現(xiàn)用戶管理,題庫管理、成績管理、考試自動組合出卷與評卷管理等功能。本框架能夠減少底層開發(fā)工作量,系統(tǒng)模塊之間具有高內(nèi)聚、低耦合的特點(diǎn),進(jìn)而提升系統(tǒng)的可用性和可維護(hù)性。本系統(tǒng)能滿足各科課程教學(xué)考試考核需求,簡化并改善傳統(tǒng)紙質(zhì)考試模式,提高考試效率與學(xué)院信息化建設(shè)。

        在線考試系統(tǒng);Bootstrap;spring boot框架;信息化

        隨著計算機(jī)技術(shù)的不斷發(fā)展,校園信息化建設(shè)程度已是評估一個學(xué)?,F(xiàn)代化發(fā)展的重要指標(biāo),這其中就包含教學(xué)信息化建設(shè),傳統(tǒng)的期中期末考核測試,由于它涉及試卷命題的組織,打印試卷,考試流程安排,人工閱卷等主觀因素,是教職工期中或是期末的一項(xiàng)重要任務(wù),從出卷、考試到批卷,時間長,工作量大,嚴(yán)重阻礙了我院信息化建設(shè)的發(fā)展。我院有數(shù)千名學(xué)生,每次考試時,監(jiān)考教師和考場都不能滿足需要。建立一套具備現(xiàn)代化的、新型的在線考試系統(tǒng)是尤為重要。

        我國在線考試系統(tǒng)在一些專業(yè)技能考試上應(yīng)用較為成熟,如國家普通話等級考試、計算機(jī)高新考試、車輛駕考中的科目1 科目四考試等,而在高職院校中應(yīng)用于通識課、專業(yè)課的在線考試系統(tǒng)還不太成熟,目前缺乏通用性,所以本考試系統(tǒng)在設(shè)計上,更強(qiáng)調(diào)階段性,高校通用性及簡捷性的測試方式。

        1 在線考試系統(tǒng)的技術(shù)分析

        Spring Boot是一個簡化Spring開發(fā)的框架。它整合了很多優(yōu)秀的框架,去繁就簡,立即就能創(chuàng)建一個獨(dú)立的,產(chǎn)品級的應(yīng)用。此項(xiàng)目中使用Spring Boot時只需要配置相應(yīng)的Spring Boot就可以用所有的Spring組件,不用自己手動的去寫一堆xml配置然后進(jìn)行配置[1]。Spring Boot將所有的功能場景都抽取出來,做成一個個的starters(啟動器),只需要在項(xiàng)目里面引入這些starter 相關(guān)場景的所有依賴都會導(dǎo)入進(jìn)來。要用什么功能就導(dǎo)入什么場景的啟動器。

        Bootstrap簡潔、直觀、強(qiáng)悍的前端開發(fā)框架,讓W(xué)eb開發(fā)更迅速、是最受歡迎的 HTML、CSS 和 JS 框架,用于開發(fā)響應(yīng)式布局。編譯后的文件可以快速應(yīng)用于任何web項(xiàng)目[2]。

        在線考試系統(tǒng)總體架構(gòu)主要包括三層,分別是表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。表現(xiàn)層主要是用戶通過瀏覽實(shí)現(xiàn)各個界面的操作,如用戶添加、測驗(yàn)查詢、題庫查看等。業(yè)務(wù)層主要包括題庫管理、試卷管理、考生信息管理、成績管理、考試管理、題型管理等具體的業(yè)務(wù)功能[3]。數(shù)據(jù)訪問層主要是對用戶信息及操作信息、題庫數(shù)據(jù)、試卷數(shù)據(jù)、成績數(shù)據(jù)等進(jìn)行處理及存儲,三者的相互交互構(gòu)建了在線考試系統(tǒng)的總體架構(gòu)[3]。

        2 在線考試系統(tǒng)功能設(shè)計

        本設(shè)計采用框架開發(fā)法,使用Bootstrap+spring boot框架來開發(fā)在線考試系統(tǒng),完善系統(tǒng)考試功能。以問卷的形式獲知管理員、教師、學(xué)生的需求,并且獲取用戶體驗(yàn)數(shù)據(jù),作為反饋系統(tǒng)設(shè)計開發(fā)的參考數(shù)據(jù)。系統(tǒng)功能需求上,擁有簡潔美觀的操作界面。本系統(tǒng)的用戶可分為管理員、學(xué)生和教師用戶三類。他們之間的功能如圖1所示:

        圖1 在線考試系統(tǒng)功能圖

        管理員功能:主要負(fù)責(zé)基本資料,科目,用戶,成績,試卷、系部的管理等;管理員可以對用戶的資料進(jìn)行查詢、刪除。

        教師功能:包括試卷管理,題庫管理,成績管理??梢詮恼n程,各種題型的數(shù)量等方面對某份試卷提出一定的要求并生成試卷。同時,還可以對庫中已有的試卷進(jìn)行修改和刪除,添加新試卷等。教師可以設(shè)置題干、答案等屬性。教師登錄要負(fù)責(zé)對題型、試卷生成,閱卷管理等,對學(xué)生做錯的題目進(jìn)行分析。可以查看考生的考試成績,并針對不同的課程進(jìn)行成績統(tǒng)計,包括考試人數(shù)、最高分、最低分、平均分以及各分?jǐn)?shù)段得分人數(shù)等。

        學(xué)生功能:可在線考試及成績查詢??忌稍谝?guī)定時間內(nèi)進(jìn)行在線考試,考試結(jié)束后,系統(tǒng)會根據(jù)系統(tǒng)題庫中已有的標(biāo)準(zhǔn)答案進(jìn)行自動評卷;考生可在線查詢以前參加過的各科考試成績。

        3 系統(tǒng)模塊設(shè)計

        (1)用戶管理

        注冊登錄:用戶通過頁面點(diǎn)擊注冊,使用郵箱或手機(jī)號碼,選擇身份注冊,用戶輸入正確的用戶名與密碼,系統(tǒng)自動通過搜索數(shù)據(jù)庫進(jìn)行身份認(rèn)證,只有找到相應(yīng)的用戶信息才能進(jìn)入系統(tǒng),進(jìn)入系統(tǒng)前,系統(tǒng)又會自動搜索數(shù)據(jù)庫,根據(jù)此用戶是學(xué)生還是教師進(jìn)行判斷,進(jìn)入到相應(yīng)的考試系統(tǒng)界面中。個人信息修改:進(jìn)入到個人信息中心,可修改個人信息,如姓名、電話號碼、密碼等修改。用戶通過前端以學(xué)生、教師的身份登錄系統(tǒng),管理員由指定的地址進(jìn)入后端,管理員不能進(jìn)入前端,學(xué)生與教師不能進(jìn)入后端,保證系統(tǒng)的安全性。學(xué)生用戶可以修改自己的個人信息與個人密碼,學(xué)生信息以班級為單位,任課教師可將所任課的班級學(xué)生信息批量導(dǎo)入,也可以通過老師的邀請碼登入任課教師的班級[4]。教師用戶可以修改個人信息,試卷信息,科目信息等;管理員可通過后臺修改學(xué)生用戶與教師用戶的信息、試卷信息、科目信息及成績管理等。用戶信息表如表1所示。

        表1 用戶信息表

        用戶注冊方法

        @ApiOperation(value = "用戶注冊", notes = "用戶注冊信息", response = UserRegristForm.class)

        @ApiImplicitParams({

        @ApiImplicitParam(paramType = "query", name = "username", value = "用戶名", required = true, dataType = "String"),

        @ApiImplicitParam(paramType = "query", name = "email", value = "郵箱", required = true, dataType = "String"),

        @ApiImplicitParam(paramType = "query", name = "telphone", value = "手機(jī)號碼",required = true, dataType = "String"),

        @ApiImplicitParam(paramType = "query", name = "password", value = "密碼", required = true, dataType = "String"),})

        @PostMapping(value = "/register")

        public String handleUserCreateForm(Model model, @Valid @ModelAttribute("form") UserRegristForm form, BindingResult bindingResult) {

        if (bindingResult.hasErrors()) {

        model.addAttribute("error", bindingResult.getFieldError().getDefaultMessage());

        return "register";} else if (userResitory.findByEmail(form.getEmail()) != null) {

        model.addAttribute("error", "郵箱已被注冊"); return "register";}

        else if (userResitory.findByTelPhone(form.getTelphone()) .isPresent()) {

        model.addAttribute("error", "手機(jī)號已被注冊"); return "register";}

        else if (!form.getPassword().equals(form.getRepassword())) {

        model.addAttribute("error", "密碼輸入不一致"); return "register";}

        User user = userService.registerNewAccount(form);

        (2)科目信息管理:對考試科目與對應(yīng)課程進(jìn)行設(shè)置

        表2 科目表(Subject)

        科目信息顯示與修改代碼如下:

        (3)試卷信息管理

        試題類型分為單選題、多選題、判斷題、填空題和分析題,教師逐個題型或逐題上傳生成試卷及對自己上傳的試卷進(jìn)行修改、刪除、查詢.;試卷信息主要包括科目類型、試題類型與試題題目的建設(shè)3個方面。主要是由任課教師完成。任課教師需要在數(shù)據(jù)庫中增加考試科目,也可以對現(xiàn)有的科目進(jìn)行修改、刪除,并將數(shù)據(jù)保存在試題表單數(shù)據(jù)庫中[4]。添加試卷及生成試卷實(shí)現(xiàn)代碼如表3所示:

        表3 試卷信息表

        添加試卷信息功能部分代碼如下:

        @GetMapping(value="/examAddition")

        public String AddExam(Model model){

        List subjectList=subjectRepository.findAll();

        log.info("subjectList科目顯示"+JSON.toJSONString(subjectList));

        model.addAttribute("subjects", subjectList); return "examAddition";}

        @PostMapping(value="/examAddition")

        public String AddExam(Model model, @ModelAttribute("form") AddExamForm addExamForm){ Exam save= iExamService.save(addExamForm);

        if (save != null) { model.addAttribute("result", "成功");}

        else { model.addAttribute("result", "失敗");}

        return "examAddition";}

        (4)試卷評審管理

        學(xué)生通過選擇科目類別,點(diǎn)擊開始考試按鈕,系統(tǒng)據(jù)設(shè)計好的各題題量自動出題,學(xué)生即可在線考試,在考試過程中,可以反復(fù)提交答案,以最后一次提交為準(zhǔn)。點(diǎn)擊結(jié)束考試,或者考試時間結(jié)束的時候,系統(tǒng)停止考試,自動評分。評審時,單選題、多選題、判斷題、填空通過與數(shù)據(jù)庫的答案一一匹配來評審,問答題通過模糊匹配,搜索與數(shù)據(jù)庫標(biāo)準(zhǔn)答案的關(guān)鍵字來進(jìn)行評審。教師也可手動修改評分。使用機(jī)器學(xué)習(xí)中的knn算法和貝葉斯算法,針對學(xué)生考試情況進(jìn)行分析,在學(xué)生下一次考試,或是下一屆考生時,基于前幾次的錯題知識點(diǎn)分析,系統(tǒng)自動出卷的內(nèi)容會針對這些錯題知識點(diǎn)而更加關(guān)注[5]。評審表信息如表4所示。

        表4 評審表

        自動評審試卷代碼如下:

        Public String taking(Model model,@ModelAttribute("addQuestion") TakingExamForm takingExam,HttpServletRequest httpRequest)

        {HttpSession session = httpRequest.getSession();List answerList = new ArrayList<>(); Integer uid = (Integer) session.getAttribute("uid");

        Integer examid = Integer.valueOf(httpRequest.getParameter("examid"));

        Listsingle= questionRepository.findAllByExamIdAndQuestionTypeOrderByQuestionTypeAsc(examid, "1");

        Listdx= questionRepository.findAllByExamIdAndQuestionTypeOrderByQuestionTypeAsc(examid, "2");

        Listtk= questionRepository.findAllByExamIdAndQuestionTypeOrderByQuestionTypeAsc(examid, "3");

        Listpd= questionRepository.findAllByExamIdAndQuestionTypeOrderByQuestionTypeAsc(examid, "4");

        Listwd= questionRepository.findAllByExamIdAndQuestionTypeOrderByQuestionTypeAsc(examid, "5");

        表5 考生單選題答案表(UserSingleAnsewr)(多選題類同)

        字段名類型說明 id自動編號主鍵碼 userId文本用戶ID examIdVarchar試題ID userSingleAnswerint考生選擇答案

        (5)考生成績管理

        學(xué)生可以查看成績、導(dǎo)出成績、自己的成績在班級的排名,教師可以查看班級學(xué)生的考試成績、每個學(xué)生的成績排名、導(dǎo)出成績。成績表如表6所示。

        表6 成績表

        考生成績顯示:

        public String showScoreAndExamName(HttpServletRequest servletRequest, Model model) {

        HttpSession session = servletRequest.getSession();

        Integer uid = (Integer) session.getAttribute("uid");

        List scoreDos = new ArrayList<>();

        List scores = scoreRepository.findAllByUserId(uid); for (Score score : scores){

        Exam examname = examRepository.findAllById(score.getExamId());

        log.info("examnamevexamnameexamname11"+ JSON.toJSONString(examname));

        ScoreDo scoreDo = new ScoreDo();scoreDo.setExamname(examname.getExamName());

        scoreDo.setScore(score.getScore());scoreDos.add(scoreDo); model.addAttribute("scores",scoreDos); log.info("scoreDo成績信息為:"+scoreDo); }

        return "/studentscore";}}

        (6)系統(tǒng)的非功能性分析

        學(xué)生信息、試卷信息與成績的管理對系統(tǒng)的安全性及保密性是較高的要求。學(xué)生在校成績是終身存檔,系統(tǒng)需要存儲大量的試卷數(shù)據(jù)、用戶信息,因此需對數(shù)據(jù)庫進(jìn)行優(yōu)化;在可維護(hù)性上,系統(tǒng)需要有自動備份的功能,防止各種意外的產(chǎn)生而造成數(shù)據(jù)丟失;安全性:在數(shù)據(jù)庫中,對用戶密碼使用MD5加密,防止因數(shù)據(jù)庫被人攻擊,而對用戶造成的直接損失,管理員只能在特定的網(wǎng)絡(luò)中才能登錄后臺系統(tǒng),防止網(wǎng)絡(luò)在傳輸中,被人抓包,導(dǎo)致數(shù)據(jù)泄露[6]。

        4 系統(tǒng)部署環(huán)境

        在線考試系統(tǒng)的特殊性,確??荚嚻陂g出現(xiàn)意外如斷電等,能快速恢復(fù)相關(guān)信息。完善錯誤處理機(jī)制構(gòu)建,避免單點(diǎn)故障、服務(wù)器采用集中管理、統(tǒng)一配置。當(dāng)某些應(yīng)用訪問量升高時,通過增加服務(wù)器節(jié)點(diǎn)達(dá)到整個服務(wù)器集群的性能穩(wěn)定,該Web前端系統(tǒng)基于Tomcat主機(jī)平臺,提供服務(wù)端程序運(yùn)行環(huán)境。

        5 總結(jié)

        本在線考試系統(tǒng)應(yīng)用Bootstrap+spring boot框架進(jìn)行開發(fā),采用B/S 架構(gòu),在實(shí)現(xiàn)考試功能的基礎(chǔ)上不用過多的安裝考試客戶端,滿足了原有考試教學(xué)輔助能力不足的問題,考試端無須特殊的計算機(jī)硬件要求,節(jié)省考試成本,提高工作效率,為學(xué)院校園信息化、示范性建設(shè)添磚加瓦,本系統(tǒng)不僅能實(shí)現(xiàn)選擇題、判斷題等客觀題的自動閱卷,還能實(shí)現(xiàn)主觀題的自動閱卷,可通過掃描班級二維碼加入班級中。隨著系統(tǒng)的應(yīng)用,繼續(xù)加強(qiáng)對主觀題的自動評卷及成績管理這個模塊,在應(yīng)用中發(fā)現(xiàn)問題,改進(jìn)問題,使該系統(tǒng)應(yīng)用范圍更廣,更好地為學(xué)院教育教學(xué)提供便捷的服務(wù)。

        [1]鐘葉.Bootstrap框架在響應(yīng)式Web開發(fā)中的應(yīng)用與研究[J].科技廣場,2017(02).

        [2]丁蓮,張玲,杜巍.基于BootStrap的WEB前端開發(fā)應(yīng)用研究[J].電子制作,2016(20).

        [3]史永哲.大型在線考試系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].電子設(shè)計工程,2016(07).

        [4]金圣道.在線考試及試卷分析系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J]. 電子技術(shù)與軟件工程,2018(07).

        [5]葉惠仙,黃偉剛,沈文杰.基于ThinkPHP框架的高職校在線考試系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2019(06).

        [6]譚敏,范強(qiáng),童宇.在線考試系統(tǒng)的研究與設(shè)計[J].信息通信,2017(09).

        院級科技類科研項(xiàng)目(2019JS013)。

        猜你喜歡
        科目試卷框架
        2024年擬在河北招生的普通高校招生專業(yè)選考科目要求發(fā)布
        考試與招生(2022年2期)2022-03-18 08:10:02
        框架
        廣義框架的不相交性
        Module5 A Trip Along the Three Gorges
        Module5 Great People and Great Inventions of Ancient China
        Module 4 Sandstorms in Asia
        Module 1 Europe
        WTO框架下
        法大研究生(2017年1期)2017-04-10 08:55:06
        下一代英才(酷炫少年)(2016年10期)2016-04-17 06:45:43
        一種基于OpenStack的云應(yīng)用開發(fā)框架
        午夜视频在线观看国产19| 亚洲欧美日韩激情在线观看| 越猛烈欧美xx00动态图| 国产美熟女乱又伦av果冻传媒| 91亚洲精品福利在线播放| 日本精品一区二区在线看| 淫秽在线中国国产视频| 日韩女优av一区二区| 亚洲日本一区二区一本一道| 久久婷婷色香五月综合缴缴情| 中国农村妇女hdxxxx| 婷婷九月丁香| 丰满人妻AV无码一区二区三区| 日本精品久久中文字幕| 日本免费在线不卡一区二区| 亚洲一区 日韩精品 中文字幕 | 久久久人妻一区精品久久久 | 国产精品后入内射日本在线观看| 亚洲成人777| av一区二区三区高清在线看| 日本视频一区二区三区观看| 午夜性色一区二区三区不卡视频| 日本丰满熟妇hd| 妺妺窝人体色www在线直播| 美女人妻中文字幕av| 亚洲日本人妻少妇中文字幕| 亚欧免费无码aⅴ在线观看| 国产人妻精品一区二区三区不卡| 精品综合久久久久久8888| 国产成人综合久久大片| 久久精品国产亚洲av香蕉| 国产激情з∠视频一区二区| 色琪琪一区二区三区亚洲区| 美女丝袜美腿玉足视频| 欧美裸体xxxx极品少妇| 91产精品无码无套在线| 日本av一区二区在线| 精品无码国产自产拍在线观看 | 国产免费网站在线观看不卡| 亚洲啪啪视频一区二区| 色婷婷亚洲精品综合影院|