【高校在線考試平臺設(shè)計與實(shí)現(xiàn)(論文)8800字】_第1頁
【高校在線考試平臺設(shè)計與實(shí)現(xiàn)(論文)8800字】_第2頁
【高校在線考試平臺設(shè)計與實(shí)現(xiàn)(論文)8800字】_第3頁
【高校在線考試平臺設(shè)計與實(shí)現(xiàn)(論文)8800字】_第4頁
【高校在線考試平臺設(shè)計與實(shí)現(xiàn)(論文)8800字】_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

圖1所示:高校在線考試高校在線考試教師端管理員端學(xué)生端教師端管理員端學(xué)生端信息模塊教師管理班級管理后臺登錄信息模塊試題管理試卷管理考試中心登錄模塊注冊模塊考試安排歷史考試模塊信息模塊教師管理班級管理后臺登錄信息模塊試題管理試卷管理考試中心登錄模塊注冊模塊考試安排歷史考試模塊圖SEQ圖\*ARABIC1系統(tǒng)功能模塊圖(二)數(shù)據(jù)庫設(shè)計1.數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計通過對在線考試實(shí)際情況的分析時,我們發(fā)現(xiàn)系統(tǒng)的主要實(shí)體有以下這些:學(xué)生實(shí)體、教師(管理員)實(shí)體、班級實(shí)體、試題實(shí)體、科目實(shí)體、考試實(shí)體。每一個實(shí)體都具有其相應(yīng)的一些屬性,我們根據(jù)在線考試功能的分析,對數(shù)據(jù)庫進(jìn)行相應(yīng)的設(shè)計,這些實(shí)體的描述如下圖所示:學(xué)生姓名學(xué)生姓名班級名稱編號學(xué)生班級名稱編號學(xué)生密碼賬號密碼賬號圖SEQ圖\*ARABIC2學(xué)生功能E-R圖姓名姓名教師是否有管理權(quán)限ID教師是否有管理權(quán)限ID密碼賬號密碼賬號圖3教師功能E-R圖班級名稱班級名稱ID老師IDID老師ID班級班級年級年級圖4班級功能E-R圖題目試卷類型題目試卷類型ID分?jǐn)?shù)ID分?jǐn)?shù)試題試題科目科目難度難度圖5試題功能E-R圖科目名稱科目名稱ID是否分科科目ID是否分科科目年級ID年級ID圖6科目功能E-R圖試卷名稱試卷名稱考試時長ID試卷考試時長ID試卷總分?jǐn)?shù)題目數(shù)量總分?jǐn)?shù)題目數(shù)量圖7試卷功能E-R圖系統(tǒng)總體E-R圖主要由以上實(shí)體組成,如圖8所示:1N1組成成成學(xué)生班級1N1組成成成學(xué)生班級MM選擇選擇成成NN科目科目MMN教師管理N教師管理成成圖8系統(tǒng)總體功能E-R圖2.數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計高校在線考試平臺設(shè)計與實(shí)現(xiàn)主要采用MySQL數(shù)據(jù)庫作為我們的物理存儲設(shè)備,數(shù)據(jù)庫命名為student-management。數(shù)據(jù)庫中的表緊密連接,構(gòu)成了整個系統(tǒng)的骨架,系統(tǒng)所涉及到的表的設(shè)置如下所示。表1是我們系統(tǒng)的學(xué)生信息表,主要是用來存儲學(xué)生的姓名,學(xué)生注冊的賬號,學(xué)生填寫的密碼信息,具體如下圖。表1xueshenginfo表字段英文名字段數(shù)據(jù)類型字段的長度是否為空字段中文說明xsbh.Idint18否學(xué)生編號(主鍵)xs.Namevarchar60否學(xué)生注冊的姓名xs.Accountvarchar70否學(xué)生注冊的賬號xs.Pwdvarchar60否學(xué)生注冊的密碼bj.Idint18否班級編號表2主要是存儲我們的教師的信息,包括教師注冊的賬號,教師注冊的密碼,以及教師是否是管理員,具體如下圖所示。表2jiaoshiinfo表字段英文名字段數(shù)據(jù)類型字段的長度是否為空字段中文說明js.Idint18否教師編號(主鍵)js.Namevarchar20否教師注冊的名稱js.Accountvarchar20否教師注冊的賬號js.Pwdvarchar20否教師注冊的密碼jsgly.Powerint18否教師的管理權(quán)限是不是管理員表3主要是用來存放我們的班級信息,年級編號作為班級信息表的外鍵與年級表的主鍵年級編號關(guān)聯(lián),教師編號作為班級信息表的外鍵與教師信息表的主鍵教師編號相關(guān)聯(lián),具體如下所示。表3bjinfo表字段英文名字段數(shù)據(jù)類型字段的長度是否為空字段中文說明bjbh.Idint20否班級編號(主鍵)bj.Namevarchar40否班級的名稱njbh.Idint30否年級編號jsbh.Idint20是教師編號表4用來存儲我們的試題的所有信息,包括考試的試題題目,試題的分?jǐn)?shù),試題的類型,試題的正確答案等,具體如下圖所示。表4stinfo表字段英文名字段數(shù)據(jù)類型字段的長度是否為空字段中文說明tmbh.Idint20否題目編號(主鍵)tm.Namevarchar600否題目的名稱xx.Avarchar600否A這個選項xx.Bvarchar600否B這個選項xx.Cvarchar600否C這個選項xx.Dvarchar600否D這個選項Right.tmvarchar600否本題的正確答案Subject.fsint20否本題的題目分?jǐn)?shù)Subject.lxint20是所答題目的類型:是單選,還是多選kcbh.Idint20否課程編號njbh.Idint20否年級的編號Subject.kncdint20是本題的題目困難程度:簡單還是困難Fkqkint20是學(xué)生的分科情況表5是用來存放我們的科目信息的數(shù)據(jù)表,分科情況作為課程信息表的外鍵與試題信息表的外鍵分科情況關(guān)聯(lián),年級編號作為課程表的外鍵和年級信息表的主鍵年級編號關(guān)聯(lián),學(xué)科編號作為課程信息表的主鍵與試卷信息表的外鍵學(xué)科編號關(guān)聯(lián),具體如下所示。表5kmInfo表字段英文名字段數(shù)據(jù)類型字段的長度是否為空字段中文說明xkbh.Idint20否學(xué)科編號(主鍵)xk.Namevarchar100否學(xué)科的名稱Fkqkint20是所選的分科情況njbh.Idint20是年級編號表6是我們的試卷信息表,主要包括試卷的名稱,所答試卷的題目數(shù)量,所答試卷所要用到的考試時間,所答試卷的最終分?jǐn)?shù),具體如下所示。表6sjinfo表字段英文名稱字段數(shù)據(jù)類型字段的長度是否為空字段中文說明kssjbh.Idint20否考試試卷編號(主鍵)kssj.Namevarchar100否所答試卷的名稱km.Numint20否進(jìn)行考試的科目名稱ksjx.Timeint20否進(jìn)行考試的時間sjScoreint20否考試試卷的分?jǐn)?shù)njbhIdint20否年級編號Fkqkint20是所選的分科情況sjEasyint20是試卷的難易程度表7是我們的試卷試題的答案表,主要包括考生的編號,考生所要考試的試題試卷以及所答試題的題目的正確答案,具體如下所示。表7sjstinfo表字段英文名字段數(shù)據(jù)類型字段的長度是否為空字段中文說明stbh.Idint20否考試試題編號(主鍵)xsbh.Idint20否學(xué)生編號sjbh.Idint20否試卷編號stbh.Idint20否試題編號tm.Resultvarchar600否所答題目的正確答案表8是考試歷史信息查詢表,考生和老師可以對該學(xué)生考試的歷史信息進(jìn)行回顧,具體如下所示。表8kslsinfo表字段英文名字段數(shù)據(jù)類型字段的長度是否為空字段中文說明lsbh.Idint20否考試歷史編號(主鍵)xsbh.Idint20否學(xué)生編號ksstbh.Idint20否考試試題編號ks.Scoreint20是考試所得的分?jǐn)?shù)表9是考試安排管理表,記錄這對班級,科目,考試試卷,開考的時間,具體如下所示。表9ksapinfo表字段英文名字段數(shù)據(jù)類型字段的長度是否為空字段中文說明ksapbh.Idint20否考試安排編號(主鍵)kcbh.Idint20否課程編號bjbh.Idint20否班級編號sjbh.Idint20否試卷編號kssy.Timedatetime30是考試所用的時間表10是試卷試題關(guān)聯(lián)表,對試卷題目進(jìn)行添加,存儲在這個表里面,具體如下所示。表10sjstinfo表字段英文名字段數(shù)據(jù)類型字段的長度是否為空字段中文說明sjstbh.Idint20否試卷試題關(guān)聯(lián)編號(主鍵)sjbhr.Idint20否試卷編號tmbh.Idint20否題目編號表11是年級管理表,存儲著年級信息,具體如下圖所示。表11njinfo表字段英文名字段數(shù)據(jù)類型字段的長度是否為空字段中文說明njbh.Idint30否年級編號(主鍵)nj.Namevarchar60否年級的名稱四、系統(tǒng)的實(shí)現(xiàn)(一)注冊及登錄該基本信息主要是學(xué)生可以進(jìn)行學(xué)生賬號的注冊,注冊成功之后進(jìn)入首頁,然后學(xué)生在學(xué)生端進(jìn)行登錄,如果學(xué)生發(fā)現(xiàn)沒有注冊賬號,則顯示賬號不存在,進(jìn)行學(xué)生賬號的注冊才能夠登錄考試頁面,進(jìn)行考試。注冊登錄頁面的實(shí)現(xiàn),如圖9所示:圖9注冊登錄功能界面基本功能界面的核心代碼://學(xué)生進(jìn)行考試,要進(jìn)行登錄的驗證@Request.Mapping("/validateLoginiStudent")publicvoidvaliidateLoginiStudent(@RequestParam("xs.Account")Stringxs.Account,HttpServlettResponseresponse)throwsIOE.xcception{ ("學(xué)生登錄賬戶"+xs.Account+",開始嘗試登錄進(jìn)行考試"); //這是要獲取所要登錄的學(xué)生對象 Student.Infostudent=student.InfoiService.getSttudentByAccounttAndPwd(xs.Account); if(student==nuill){ logger.error("進(jìn)行學(xué)生賬戶的登錄"+student.Account+"該賬號不存在"); response.get1Writer().print("n"); }else{ logger.error("進(jìn)行學(xué)生賬戶的登錄"+student.Account+"該賬號存在"); response.getiWriter().print(student.getStudent.Pwd()); }}//學(xué)生登錄進(jìn)行考試@RequesiitMapping(value="/student.Login",method=Request.Method.POST)publicModelAnd.ViewstudenttLogin(xs.Infostudent,HttipServletRequestrequest){Model1AndiViewmodel=newModel1AndView();StudentiInfologinStudent=studentiInfoService.getStudenttByAccountAnd.Pwd(student.getStudenttAccount());("學(xué)生"+login.Student+"這是有效的登錄");if(login.Student==null||!student.gettStudent.Pwd().equals(loginiStudent.getStudenttPwd())){ model.setViewName("reception/suc"); model1.addObject("succeess","提示密碼錯誤"); returnmodel; } request.get1Session().setAttriibute("loginStudent",loginiStudent); model.setV1iewName("recepttion/suc1"); model.addObject("succeess","顯示登錄成功"); returnmodel;}//退出登錄的代碼如下@Requestt.Mapping("/exit")publicStringstudenttClearLogin(HttpiSessionsession){StudenttInfostudnet=(xs.Info)scession.getAttribute("loginStudent");("學(xué)生"+studnet.getSttudentName()+",所選的編號"+studnet.getStiudentId()+"進(jìn)行退出登錄");scession.remove.Attribute("loginStudent");return"rediirect:index.jsp";}(二)學(xué)生端功能模塊1.考試中心功能當(dāng)教師進(jìn)行添加試卷并且給指定班級時,考試中心這個頁面這里會根據(jù)學(xué)生所在的班級來進(jìn)行判斷,這里是否存在需要考試的試卷??荚囍行娜鐖D10所示:圖10考試中心功能界面考試中心功能的核心代碼:publicvoidrefreshExamPlan(){List<ExamPlaniInfo>examPlans=examPlianInfoService.getExamPlans(null);("讓我們刷新待考記錄"+examPlans.size());if(exiamPlans.size()>0){ for(ksjh.Infoksjh.Info:exam.Plans){ Stringksks.Time=ksjh.Info.getksks.Tiime(); intks.Time=.getExamPapier().getks.Time(); //這里驗證是不是能夠移除 if(valiidateExamPaereBeOverdue(ksks.Time,examPaaperTime)){("這是待考的試卷"+ksjh.Info.getExam.Paper().getExam.PaperId()+這個試卷已經(jīng)過期,馬上要被移除"); //這是移除過期考試安排的代碼 introw=ksjh.InfoService.isRemoverksjh(ksjh.Info.getksjhbh.Id()); }else{ ("這是待考試卷"+ksjh.Info.getExamPaper().getExamPaperId()+"試卷還沒有過期,我們不能移除它"); continue; } }}2.考試歷史功能這個功能模塊主要是學(xué)生可以自主查看所考試卷的歷史記錄,在歷史記錄這里學(xué)生可以看到自己的考試成績??荚嚉v史功能模塊,如圖11所示:圖11考試歷史查看界面考試歷史查看的核心代碼://這是獲取學(xué)生歷史考試信息的代碼@RequestiMapping("/history/{xsbh.Id}")publicModeilAndViewgetExamHiistoryInfo(@PathVariiable("xsbh.Id")Integerxsbh.Id){ModeliAndViewmodel=newModellAndView();if(xsbh.Id==null){ logger.error("這里所填的學(xué)生編號為空了"); model.setView.Name("error"); returnmodel; }("學(xué)生"+xsbh.Id+"我們可以在這里獲取考試歷史信息了");//這是獲取歷史考試信息的代碼List<ExamHistorryPaper>ehps=examHiistoryPaperSerrvice.getExamHiistoryToStudent(xsbh.Id);model.addObjject("ehps",ehps);model.setViewName("/rececption/examHistory");returnmodel;}(三)教師端功能模塊1.班級信息模塊班級學(xué)習(xí)模塊主要展示班級管理模塊和各個班級總?cè)藬?shù)的模塊,首先教師要在后臺管理頁面進(jìn)行登錄,教師進(jìn)行登錄之后,系統(tǒng)可以判斷該教師是不是管理員身份,如果是,則該教師可以對所有的班級進(jìn)行添加、刪除、修改操作;如果不是,則該教師不能進(jìn)行這些操作管理?;拘畔⒌膶?shí)現(xiàn),如圖12所示:圖12班級信息界面班級管理功能界面的核心代碼://這里我們要獲取所有的班級@RequestMapping(value="/classes",method=RequestMethod.GET)publicModelAndViewgetClasses(@RequestParam(value="njibh.Id",required=false)Integernjbh.Id,@RequestParam(value="bj.Name",required=false)Stringbj.Name,@RequestParam(value="bjbh.Id",required=false)Integerbjbh.Id,@RequestParam(value="startPage",required=false,defaultValue="1")IntegerstartPage,//當(dāng)前頁碼每頁顯示的條數(shù)@RequestParam(value="pageShow",required=false,defaultValue="10")IntegerpageShow){("獲取班級集合條件:njbh.Id:"+njbh.Id+",班級編號:"+bjbh.Id+",班級:"+bj.Name);ModellAndViewmodel=newModellAndView();model.setViewName("admin/classes");intstartIndex=(start1)*pageShow;map.put("startIndex",startIndex);map.put("pageShow",pageShow);classes=classInfoService.getClassesPage(map);model.addObject("classes",classes);//獲取教師總量intclassTotal=classInfoService.getClassTotal();//計算總頁數(shù)intpageTotal=1;if(classTotal%pageShow==0) pageTotal=classTotal/pageShow;else pageTotal=classTotal/pageShow+1; model.addObject("pageTotal",pageTotal); model.addObject("pageNow",startPage); returnmodel;}2.學(xué)生信息模塊學(xué)生學(xué)習(xí)模塊主要包含所有學(xué)生的信息和學(xué)生進(jìn)行考試的信息,首先教師通過登錄頁面進(jìn)入到到后臺管理頁面,在這里教師可以對所有學(xué)生的信息進(jìn)行添加、刪除、修改、查看功能。學(xué)生信息功能的實(shí)現(xiàn),如圖13所示:圖13學(xué)生信息模塊學(xué)生信息功能界面的核心代碼://在這里我們可以獲取學(xué)生的集合@RequestMapping("/xs")publicModelAndViewgetCourses(@RequestParam(value="xsbh.Id",required=false)Integerxsbh.Id,@RequestParam(value="bjbh.Id",required=false)Integerbjbh.Id,@RequestParam(value="njbh.Id",required=false)Integernjbh.Id,@RequestParam(value="startPage",required=false,defaultValue="1")IntegerstartPage,@RequestParam(value="pageShow",required=false,defaultValue="10")IntegerpageShow){("我們可以獲取學(xué)生集合bjbh.Id="+bjbh.Id+",njbh.Id="+njbh.Id+",startPage="+startiPage+",pageiShow="+pageShow); ModelAndViiewmodel=newModeilAndView(); model.setViewName("/admin/students"); //這里我們主要用到查詢條件處理 xsInfostudent=newxsInfo(); if(xsbh.Id!=null) student.setxsbh.Id(xsbh.Id); if(bjbh.Id!=null){ bj.Info.setbjbh.Id(bjbh.Id); student.setbjInfo(bjInfo); } if(nibh.Id!=null){ nj.setbjbh.Id(njbh.Id); xs.setGrade(nj); } Map<String,Object>map=newHashMap<String,Object>(); //這里我們要計算當(dāng)前查詢起始數(shù)據(jù)索引 intstartIndex=(start1)*pageShow; map.put("xuesheng",xuesheng); map.put("startIndex",startIndex); map.put("pageShow",pageShow); model.addObject("students",students); //我們可以獲取學(xué)生的總量 intstudentTotal=studentInfoService.getStudentTotal();}3.試卷試題修改模塊該基本信息主要是對所有試卷試題進(jìn)行操作,首先教師通過登錄頁面,登錄到后臺管理頁面,然后教師可以實(shí)現(xiàn)對試卷試題信息的添加、刪除、修改和查看功能?;拘畔⒌膶?shí)現(xiàn),如圖14所示:圖14學(xué)生信息界面試卷功能的核心代碼://獲取試卷信息@RequestMapping("/examPapers")publicModelAndViewgetCourses(@RequestParam(value="njbh.Id",required=false)Integernjbh.Id,@RequestiParam(value="startPage",required=false,defaultValue="1")IntegerstartPage,@RequestiParam(value="pageShow",required=false,defaultValue="10")IntegerpageShow){("獲取試卷集合njbh.Id="+njbh.Id+",startPage="+startPage+",pageShow="+pageShow); ModelAndViewmodel=newModelAndView(); model.setViewName("/admin/examPapers"); if(njbh.Id!=null){ nj.setnjbh.Id(njbh.Id); examPaper.setnj(nj);} Map<String,Object>map=newHashMap<String,Object>(); //計算當(dāng)前查詢起始數(shù)據(jù)索引 intstartiIndex=(start1)*pageShow; List<ExamPaperInfo>examPapers=examPapeirInfoService.getExamPapers(map); model.addObject("examPapers",examPapers); //獲取試卷總量 intexamiPaperTotal=examiPaperInfoService.getExamiPpaerTotal(); //計算總頁數(shù) intpageTotal=1; if(examPaperTotal%pageShow==0) pageTotal=examPaperTotal/pageShow; else pageTotal=examPaperTotal/pageShow+1; model.addObject("pageTotal",pageTotal); model.addObject("pageNow",startPage); returnmodel;}(四)后臺管理員功能模塊1.班級修改管理模塊班級管理顯示班級的名稱、所屬于的年級情況、每個班級班主任的基本信息,來查詢班級的基本信息,通過教師的登錄信息來判斷該教師是不是管理員,然后對班級來進(jìn)行刪除、添加、修改功能的操作。如圖15所示:圖15班級信息界面班級管理的核心代碼://獲取所有班級@RequestMapping(value="/bj",method=RequestMethod.GET)publicModelAndViewgetClasses(@RequestParam(value="njbh.Id",required=false)Integernjbh.Id,@RequestiParam(value="bj.Name",required=false)Stringbj.Name,@RequestiParam(value="bjbh.Id",required=false)Integerbjbh.Id,@RequestiParam(value="startPage",required=false,defaultValue="1")IntegerstartPage,@RequestiParam(value="pageShow",required=false,defaultValue="10")IntegerpageShow){("獲取班級集合條件:nibh.Id:"+njbh.Id+",班級編號:"+bjbh.Id+",班級"+bj.Name); ModelAndViewmodel=newModelAndView(); model.setViewName("admin/bj"); bj=bjInfoService.getbjPage(map); model.addObject("classes",classes); //獲取教師總量 intclassTotal=bjInfoService.getClassTotal(); //計算總頁數(shù) intpageTotal=1; if(classTotal%pageShow==0) pageTotal=classTotal/pageShow; else pageTotal=classTotal/pageShow+1; model.addObject("pageTotal",pageTotal); model.addObject("pageNow",startPage); returnmodel; }}2.教師信息修改模塊在教師信息管理的模塊,我們可以看到教師的姓名、教師的后臺登錄賬號、后臺登錄密碼、后臺管理權(quán)限。后臺管理員可以對普通教職工進(jìn)行添加、修改、刪除相關(guān)信息功能的操作,但是如果是普通的教職工就沒有權(quán)限對每個教師信息進(jìn)行添加、修改、刪除功能的操作。教師信息的實(shí)現(xiàn),如圖16所示:圖16教師信息界面教師信息的核心代碼://我們可以獲取驗證教師信息@RequestiMapping(value="/validateiTeacher",method=RequesitMethod.POST)publicvoidqueryTeacherExists(@RequestParam(value="zhanghao")StringteacherAccount,HttpServletResponseresponse)throwsException{("可以獲取教師"+js.Account+"的信息");js.Infotjs.Info=null;js.Info=js.InfoService.getTeacherByAccount(js.Account);//發(fā)現(xiàn)教師的賬戶不存在if(js.Info==null){ response.getWriter().print("1"); }else{ response.getWriter().print(js.Info.getjs.Pwd()); }}PublicbjLoginControllerextendsBaseController{@AutowiredprivateUserSeriviceuserService;@AutowiredprivateModuleiServicemoduleService;@RequestMapping(value="/login",xinming="用戶登錄")publicStringlogin(Stringemail,Stringpassword){//1.判斷郵箱和密碼是否為空if(StringUtils.isEmpty(email)||StringUtils.isEmpty(password)){//如果郵箱或者密碼任一為空則重定向至登錄頁面return"forward:/login.jsp";}}3.年級信息修改模塊在年級信息修改模塊我們主要分為年級的信息管理和科目的信息管理,首先教師通過登錄頁面登錄到后臺管理頁面,然后進(jìn)行判斷該教師是不是管理員身份,如果是管理員身份,就可以對年級休息和科目休息進(jìn)行添加、刪除、修改功能操作;如果不是,就不能進(jìn)行這些操作管理。基本信息的實(shí)現(xiàn),如圖17所示:圖17基本功能界面基本功能界面的核心代碼:publicclasskm.InfoHandler{@Autowiredprivatekm.InfoServicecourseInfoService;@AutowiredprivateGradeInfoServicenj.InfoService;privateLoggerlogger=Logger.getLogger(km.InfoHandler.bj);//獲取科目信息@RequestMapping("/courses")publicModeliAndViewgetCourses(@RequestParam(value="njbh.Id",required=false)Integernjbh.Id,@RequestParam(value="fkqk",required=false)Integerfkqk){("獲取科目集合年級條件"+gradeId+"分科條件"+fkqk);ModielAndViewmodel=newModeilAndView();model.setViewiName("/admin/courses");CourseInfokm=newkm.Info();if(njbh.Id!=null) course.getnj().setnjbh.Id(njbh.Id);if(fkqk!=null) course.setfkqk(fkqk);List<kmInfo>km=kmInfoService.getkm(km);model.addObject("km",km);returnmodel;}}4.考試安排管理功能考試安排管理功能主要是后臺管理員進(jìn)行考試信息的添加,還要進(jìn)行對應(yīng)考試的班級、所要考試的科目、所要用到的考試試卷、以及開使考試的時間的添加,添加完這些信息之后所對應(yīng)的考試的班級就會有所要考試的信息,如果該學(xué)生不是在對應(yīng)的班級當(dāng)中,就沒有考試的信息,學(xué)生不能進(jìn)行考試??荚嚢才殴δ芄芾淼膶?shí)現(xiàn),如圖18所示:圖18考試安排管理考試安排管理的核心代碼://獲取所有待考記錄@RequestMapping("/ksjh")publicModelAndViewgetksjh(){ModelAndViewmodel=newModelAndView();model.setViewName("admin/ksjh");("獲取待考的考試信息");List<ksjh.Info>ksjh=ksjhInfoService.getksjh(null);model.addObject("ksjh",ksjh);returnmodel;}五、系統(tǒng)測試結(jié)論(一)測試方法、目的我們對系統(tǒng)的測試是對整個系統(tǒng),硬件,軟件和全體角色進(jìn)行的測試,主要檢查這個系統(tǒng)能不能符合系統(tǒng)的規(guī)范,測試的主要目的就是檢查我們的產(chǎn)品能不能正常運(yùn)轉(zhuǎn),并且在程序中可以盡量檢測出更多的錯誤。(二)系統(tǒng)功能測試1.后臺登錄測試在完成在線考試系統(tǒng)的一系列開發(fā)之后,我們需要對程序進(jìn)行一定的測試,在這里我們簡單的對后臺管理頁面進(jìn)行一些測試,在我們的登錄過程中,如果沒有輸入賬號或者沒有輸入密碼,那么系統(tǒng)將會提示我們賬號或者密碼是空的,先登錄后臺頁面。如圖19、圖20所示:圖19后臺登錄界面登錄成功后進(jìn)行后臺首頁如下圖所示:圖20后臺登錄顯示界面2.安全測試進(jìn)行安全測試的主要目是為了檢測系統(tǒng)可能會存在的安全方面的問題,我們通過這些測試發(fā)現(xiàn)問題,并且能夠及時調(diào)整這些安全問題。我們測試系統(tǒng)的登錄功能以及普通教師和后臺管理員的功能權(quán)限。在教師進(jìn)行登錄的過程中,我們要輸入正確的教師賬號和教師密碼,然后與數(shù)據(jù)庫中存在的數(shù)據(jù)進(jìn)行一一對應(yīng),如果是錯誤的或者不存在的信息那么將不能進(jì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

提交評論