題庫管理與試卷生成系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
題庫管理與試卷生成系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
題庫管理與試卷生成系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
題庫管理與試卷生成系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
題庫管理與試卷生成系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩87頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

哈爾濱學(xué)院學(xué)士學(xué)位論文題庫管理與試卷生成系統(tǒng)的設(shè)計與實現(xiàn)前言當(dāng)今社會上人們對高速度的生活的要求,所以需要一種便捷的題庫管理與試卷系統(tǒng)來代替?zhèn)鹘y(tǒng)的組卷功能和題庫管理功能,可以更高效率的完成普通考試能完成的功能,從而在增添一些傳統(tǒng)對題庫和試卷管理不能達(dá)到的功能。本文闡述了該題庫管理與試卷生成系統(tǒng)的從市場調(diào)研,需求分析,概要設(shè)計和具體功能實現(xiàn)的詳細(xì)過程。本文敘述了開發(fā)這個網(wǎng)站的全過程,具體情況如下。第1章,描述開發(fā)的背景意義、設(shè)計思想、并對可行性進(jìn)行分析。第2章,本系統(tǒng)通過社會調(diào)研和市場調(diào)查,對需求進(jìn)行分析。本章著重介紹五個大功能模塊分別是注冊功能、登錄功能、試卷功能、題庫功能、教師組卷功能、發(fā)布消息功能、管理員管理日志和權(quán)限等功能。并通過用例圖和活動圖詳細(xì)介紹了各個功能的需求。第3章,是本系統(tǒng)的概要設(shè)計。從系統(tǒng)體系、功能模塊方向簡要介紹了各個功能的邏輯關(guān)系并通過繪制功能圖,最后對本章進(jìn)行總結(jié)。第4章,是本系統(tǒng)的詳細(xì)設(shè)計,通過E-R圖系統(tǒng)的表現(xiàn)數(shù)據(jù)庫中表與表之間的關(guān)系。對各個功能模塊的數(shù)據(jù)流向和邏輯關(guān)系通過時序圖和流程圖進(jìn)行了詳細(xì)的介紹。第5章,測試模塊。本章分別從測試的目標(biāo)、測試方案、測試用例和測試結(jié)果進(jìn)行了介紹,保證系統(tǒng)的正確性和穩(wěn)定性。第1章緒論1.1項目的背景和意義 人們進(jìn)入了信息時代,以及網(wǎng)絡(luò)的技術(shù)的發(fā)展,人們對信息的獲取和網(wǎng)絡(luò)的使用更加的高效,網(wǎng)絡(luò)的普及也滋生出一批新的互聯(lián)網(wǎng)公司的發(fā)展,人們完全就可以居家辦公,進(jìn)而促進(jìn)了一些在線軟件的發(fā)展。中國互聯(lián)網(wǎng)絡(luò)信心中心(CNNIC)發(fā)布的第44次《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告》[1]網(wǎng)民發(fā)面,截止2019年6月我國網(wǎng)民規(guī)模達(dá)8.54億,較2018年底增長2598萬,互聯(lián)網(wǎng)普及率達(dá)到61.2%。學(xué)生希望根據(jù)自己的要求來制定學(xué)習(xí)的計劃,希望得到科學(xué)準(zhǔn)確的評價、老師也想改變一下傳統(tǒng)的出題方式,改善工作方式,提高自己的工作效率,增加出題時的客觀性公平性,加強(qiáng)對各個科目歷年試題的整理,讓學(xué)生能夠自己的自身需求來更有效的學(xué)習(xí),讓管理員科學(xué)化管理,試卷存檔、教育機(jī)構(gòu)也想提高更加優(yōu)秀更加全面的服務(wù),增設(shè)題庫功能以及題庫中各類試題的儲備量,讓學(xué)生能夠自己的自身需求來更有效的學(xué)習(xí)?;ヂ?lián)網(wǎng)加考試的這種集合方式正符合現(xiàn)在當(dāng)下的趨勢,更有利于提高標(biāo)準(zhǔn)化高質(zhì)量考試。伴隨著軟件和信息技術(shù)的發(fā)展和普及,系統(tǒng)的在線化程度的提高,導(dǎo)致許多應(yīng)用技術(shù)的走向信息化。在線題庫管理[2]與試卷生成[3]系統(tǒng)的可靠性、公正性和有效性,大大改善傳統(tǒng)組卷方式,同時也節(jié)約了成本,并且符合時代發(fā)展的要求。本系統(tǒng)意在開發(fā)一個能夠高效快捷的能夠管理題庫按照老師的要求快速組卷的系統(tǒng)。題庫管理與試卷生成系,解決傳統(tǒng)組卷復(fù)雜超長的周期,具有通透性,能滿足多個學(xué)科的在線組卷和題庫管理??蓾M足跨平臺性,可擴(kuò)展性,穩(wěn)定性和可移植性。1.2國內(nèi)外發(fā)展現(xiàn)狀綜述世界各國對教育的注重程度越來越大,都給予了前所未有的關(guān)注,都試圖將教育事業(yè)發(fā)展作為國家強(qiáng)有力的支柱,將教育事業(yè)推向更加信息化更加智能化,從而使社會走在發(fā)展的前列,是國家基于發(fā)展的前列。21世紀(jì)可能是信息的高速公路,伴隨著計算機(jī)網(wǎng)絡(luò)的發(fā)展,遠(yuǎn)程教育是計算機(jī)網(wǎng)絡(luò)信息化的體現(xiàn),網(wǎng)絡(luò)化的考試系統(tǒng)作為遠(yuǎn)程教育的組成成分和分支越來越引起國人和世界的關(guān)注,而題庫管理模塊和組卷功能模塊作為考試流程中的重要環(huán)節(jié),也引起了十分重要的的關(guān)注。網(wǎng)絡(luò)的普及也降低了題庫管理與試卷生成系統(tǒng)的整體成本,更符合長期發(fā)展和技術(shù)的革新?,F(xiàn)價段題庫管理與試卷生成系統(tǒng)有一種是學(xué)校搭建的局域網(wǎng)內(nèi)的供教師和學(xué)生使用的題庫管理與試卷生成考試系統(tǒng),另一種是基于Web的題庫管理與試卷生成考試系統(tǒng)。使用的架構(gòu)模式大致也分為兩種,一種是C/S架構(gòu),另一種是B/S架構(gòu)。國際上比較領(lǐng)先用于開發(fā)在線題庫管理與試卷生成系統(tǒng)平臺的語言主要有ASP、JSP和PHP。為了滿足Internet的快速發(fā)展,為了滿足Web服務(wù)的更高要用,微軟開發(fā)了一款.NET的開發(fā)平臺,它可以在復(fù)雜的Internet的過程中簡化Web應(yīng)用的開發(fā)?,F(xiàn)在很多公司都在開發(fā)一些在線的項目,其中在線考試系統(tǒng)也開展了很多年的時間,而作為在線考試系統(tǒng)的題庫管理與試卷生成功能模塊也成為了重點(diǎn)攻克的環(huán)節(jié)。目前上市面上有一些在線考試平臺,例如Tomexam、考試星和優(yōu)優(yōu)系統(tǒng)等等。1.3實現(xiàn)目標(biāo)題庫管理與試卷生成系統(tǒng)主要覆蓋學(xué)生、老師和管理員三類用戶。本系統(tǒng)實現(xiàn)的功能如下所述。1、學(xué)生用戶功能模塊詳細(xì)描述(1)學(xué)生可以查看自己的錯題。(2)學(xué)生可以查看教師和管理員發(fā)布的最新消息。(3)修改自己的登錄密碼防止別人進(jìn)行登錄,獲取到自己的個人信息。2教師人員功能模塊詳細(xì)描述教師管理功能分了七個模塊。(1)教師用戶可以修改自己的登錄密碼,防止他人進(jìn)行登錄。(2)教師可以管理自己所教學(xué)科的題庫,包括試題的手動錄入,試題的批量導(dǎo)入,試題難易程度的初始化,還可以管理不同題庫的不同類型題。(3)教師可以根據(jù)考試要求組成試卷,這里分兩種組卷方式。手動組卷,根據(jù)考試要求,選題庫,填寫書卷名稱,內(nèi)容面熟,篩選題庫里面的試題進(jìn)行手動的添加和刪除。自動組卷,根據(jù)考試要求,選題庫,選擇試卷的難易程度,考試的范圍,考試不同類型題的數(shù)據(jù)量,填好信息以后,系統(tǒng)會從老師給的信息從題庫里面拿去試題組成試卷。(4)教師可以將自己組成的試卷,生成PDF,以方便以后的存檔查看。(5)教師根據(jù)圖表的形式查看自己管理的題庫不同類型題的數(shù)量分布情況。(6)教師管理班級、學(xué)生、科目和章節(jié)。(7)教師發(fā)布消息給自己的學(xué)生,提醒他們學(xué)習(xí)。3、管理員功能模塊詳細(xì)描述(1)管理員的登錄。(2)系統(tǒng)功能管理包日志管理和系統(tǒng)維護(hù)等。(3)權(quán)限的分配,分配給老師不同權(quán)限功能,不同老師之間不能夠互相訪問別人的工作模塊,分配給教師管理不同班級和不同題庫的權(quán)限。(4)人員的錄入分為管理員的手動錄入,添加學(xué)生和教師和批量錄入這兩種方式。(5)查看系統(tǒng)最近的登錄情況。(6)管理員添加新的題庫。(7)管理發(fā)布消息給學(xué)生。1.4系統(tǒng)的設(shè)計思想本系統(tǒng)的前期的需求分析,系統(tǒng)的設(shè)計與開發(fā),以及后期的系統(tǒng)測試與維護(hù)都是完全按照軟件開發(fā)的工程步驟以及要求來嚴(yán)格遵照的。使用了MVC(ModelAndView)的Web開發(fā)模式,運(yùn)用接口來開發(fā),將各個功能獨(dú)立開來,完全降低項目的低耦合性,是每個服務(wù)層的功能高度集中,增加了極強(qiáng)的高內(nèi)聚,使是項目后期的更好的開發(fā)以及功能的擴(kuò)展。選擇現(xiàn)在項目流行的常用的Java語言進(jìn)行項目的開發(fā)。使用封裝SQL語句的模式,將數(shù)據(jù)的處理封裝在單獨(dú)的數(shù)據(jù)層處理,使系統(tǒng)更好的重用性,增加軟件開發(fā)模式要求的高內(nèi)聚低耦合的開發(fā)模式,簡潔的UI頁面讓用戶操作更加方便。1.5系統(tǒng)的可行性分析1.5.1技術(shù)可行性分析本系統(tǒng)使用Spring的實體類工廠來管理我們的對象,對生命周期進(jìn)行管理,讓每個對象的依賴關(guān)系交給Spring來管理,封裝了各層服務(wù),增加了項目的高內(nèi)聚和低耦合性,提升項目后期開發(fā)和完善的擴(kuò)展性。使用關(guān)系型數(shù)據(jù)庫,用Mapper的Xml文件封裝SQL語句,在Mapper的主配置文件做映射處理,做全局代理,方便構(gòu)造業(yè)務(wù)邏輯層,增加項目的靈活性。綜上所述,從技術(shù)可行性上進(jìn)行分析本系統(tǒng)的開發(fā)完全可行。1.5.2經(jīng)濟(jì)可行性分析項目運(yùn)用的是開源免費(fèi)的框架,運(yùn)用開源的Java語言,開發(fā)工具Idea,服務(wù)器只需要筆記本上下載一個開源的Tomcat就可以。開發(fā)工具免費(fèi),開發(fā)框架開源,開發(fā)語言開源,開發(fā)人員一個具備軟件開發(fā)能力的人。綜上所述,從經(jīng)濟(jì)可行性上進(jìn)行分析本系統(tǒng)的開發(fā)完全可行。1.5.3社會可行性分析本項目課題符合當(dāng)代老師和學(xué)生的要求,也適合當(dāng)代發(fā)展的趨勢,改變原有的組卷模式,也有利于管理題庫,讓老師出題組卷時可以參考更多的題目,學(xué)生也可以能夠不同的類型題,有利于自己對知識的掌握。綜上所述,從社會可行性上進(jìn)行分析本系統(tǒng)的開發(fā)完全可行。1.5.4操作可行性分析本項目運(yùn)用UI用戶界面,操作簡單,有較強(qiáng)的實用性。用戶可以根據(jù)加界面上的提示,進(jìn)行操作。操作流程符合人們的思維邏輯,教師和管理員經(jīng)過簡單的培訓(xùn)就可以進(jìn)行使用,對學(xué)生沒有必須掌握計算機(jī)和軟件知識的要求。綜上所述,從操作可行性上進(jìn)行分析本系統(tǒng)的開發(fā)完全可行。1.5.5可行性分析總結(jié)經(jīng)過分析,很容易得出以下結(jié)論,在技術(shù)可行性分析層面,完全具備了開發(fā)一套成熟系統(tǒng)的能力和條件;在經(jīng)濟(jì)可行性分析層面,采用開源的框架和開發(fā)語言,自己擁有一臺電腦就能搞定;在社會可行性分析層面,符合當(dāng)代社會發(fā)展的要求,符合教育機(jī)構(gòu)對當(dāng)今題庫管理和快速組卷和試卷管理的要求;在操作可行性分析層面,用戶完全可以輕松上手使用,具有簡潔的用戶界面的和有完善的頁面提示。因此,本系統(tǒng)具備了技術(shù)、經(jīng)濟(jì)、社會和操作方面的可行性,完全符合開發(fā)一款軟件的要求,可以開發(fā)軟件。1.6本章小結(jié)本章敘述了項目背景和項目意義,國內(nèi)外發(fā)展現(xiàn)狀,實現(xiàn)目標(biāo),系統(tǒng)的設(shè)計思想,可行性分析。綜上所述,可以開發(fā)此系統(tǒng)。需求分析2.1任務(wù)概述2.1.1任務(wù)目標(biāo)本系統(tǒng)方便學(xué)生對最近所學(xué)知識點(diǎn)的鞏固與預(yù)習(xí)新課程打好提前量,方便高校去統(tǒng)一管理教師和學(xué)生。本系統(tǒng)要求要做到一個能管理學(xué)校各科試題的題庫管理,包括了試題的添加,試題的更改,試題類型分類,試題的難易程度的初始錄入和根據(jù)學(xué)生做題提交量和正確量來進(jìn)行計算進(jìn)行自動更新。包含了學(xué)生的錯題以及收藏題存儲,學(xué)生查看自己做題詳情針對性的進(jìn)行學(xué)習(xí)。對傳統(tǒng)的考試出卷進(jìn)行了升級,以前一場考試的出卷從試題的選取,試卷的整理,每道題的分?jǐn)?shù)分配,以及最終通過審核,租后生成試卷,以及試卷的保密工作,只其中涉及的流程較多,周期較長,不能夠滿足當(dāng)代人們對高速度的要求。本系統(tǒng)提供給教師兩種組卷模式,一種是教師可以根據(jù)篩選條件查看對應(yīng)題庫里面的試題,從中手動篩選移動試題,組成一張試卷,可以手動設(shè)置分?jǐn)?shù);另一種是教師填選條件,給定分?jǐn)?shù),試卷包含的題型,考試的難易程度等條件,系統(tǒng)會根據(jù)老師給出的條件從中篩選符合要求的試題組成一章試卷。這兩種組卷方式完全能夠滿足期末考試和普通的練習(xí)和章節(jié)測試,出卷之后對試卷進(jìn)行分析,看包含的知識點(diǎn)。組成試卷后還可以生成PDF,用來試卷的存檔,為以后查看做準(zhǔn)備。2.1.2用戶特點(diǎn)用戶的特點(diǎn)如下面所描述。1、學(xué)生學(xué)生可以通過自己的學(xué)生端口,使用學(xué)號,密碼以及填寫驗證碼,當(dāng)完全無誤后可以登錄該系統(tǒng)。使用驗證碼是為了防止有人惡意登錄本系統(tǒng),造成系統(tǒng)的宕機(jī)。學(xué)生可以自己以往做過的試卷,自己做的錯題以及自己收藏的試題,學(xué)生根據(jù)自己學(xué)習(xí)的情況。2、教師教師可以通過自己的教師端口,使用工號,密碼以及填寫驗證碼,當(dāng)完全無誤后可以登錄該系統(tǒng)。使用驗證碼是為了防止有人惡意登錄本系統(tǒng),造成系統(tǒng)的宕機(jī)。教師可以管理自己所教科目所對應(yīng)的圖庫,包括了試題的添加,試題的更改,試題類型分類,試題的難易程度的初始錄入和自動更新。教師也可以管理所教的班級,發(fā)布一些測試給學(xué)生。教師也可以組卷來一些階段性測試,教師可以發(fā)布通知,來通知學(xué)生消息。教師根據(jù)統(tǒng)計圖的形式可以直觀的查看題庫的數(shù)據(jù),包括一科對應(yīng)的題庫里面不同類型題占有量。3、管理員管理員可以通過自己的端口,使用工號,密碼以及填寫驗證碼,當(dāng)完全無誤后可以登錄該系統(tǒng)。使用驗證碼是為了防止有人惡意登錄本系統(tǒng),造成系統(tǒng)的宕機(jī)。管理員分配權(quán)限的權(quán)利,系統(tǒng)的維護(hù),人員的批量導(dǎo)入以及系統(tǒng)日志的管理。管理員可以給老師分配管理班級的權(quán)限,管理題庫的權(quán)限。通過系統(tǒng)管理員的管理,使本系統(tǒng)得以有條不紊的運(yùn)行。2.2系統(tǒng)運(yùn)行環(huán)境2.2.1軟件平臺服務(wù)器端操作系統(tǒng)采用Windows7或Windows10操作系統(tǒng)。客戶端操作系統(tǒng)采用CentOS6.5及其以上版本或Windows7及其以上版本。開發(fā)工具使用MyEclipse10或MyEclipse2014、Dreamweaver、SublimeText。數(shù)據(jù)庫版本MySQL8.0及其以上版本。數(shù)據(jù)庫管理工具使用NavicatPremium12。Web應(yīng)用服務(wù)器采用ApachTomcat7.0及其以上版本。2.2.2硬件平臺1、服務(wù)器端硬件配置服務(wù)器選擇采用Intel(R)Core(TM)i5-7200UCPU@2.50GHz2.70處理器。內(nèi)存需要型號KingstonDDR3L1600MHz,規(guī)格4GB,數(shù)量2條。硬盤使用三星860evoSSD,容量500GB2塊。顯卡使用七彩虹IGameGeForceGTX1660SUPER6GBUltra。2、客戶端硬件配置使用CPU至少雙核以上CPU,IntelCore2.2GHz或更快的處理器。運(yùn)行內(nèi)存要求4GB及其以上。硬盤容量不低于128G。2.3系統(tǒng)功能性需求說明題庫管理與試卷生成系統(tǒng)功能按用戶分為三大類,詳情如下描述。學(xué)生不需要注冊,由管理員統(tǒng)一導(dǎo)入。學(xué)生可以查看自己的做題記錄,可以查看自己的做題情況。教師不需要注冊,由管理員統(tǒng)一導(dǎo)入。老師查看查看自己本學(xué)期所教的科目對應(yīng)的題庫,可以查看試題的類型,試題的難易程度,試題所屬的章節(jié),可以手動添加和批量導(dǎo)入試題功能。可以根據(jù)考試要求,可以通過手動組卷和自動組卷兩種模式,填寫符合要求的信息,現(xiàn)初步篩選出來一套試題來,然后教師可以進(jìn)行多次修改試卷,最終生成一套完整的試卷,可已經(jīng)生成的試卷生成PDF形式。管理員對學(xué)生和教師進(jìn)行批量的導(dǎo)入,管理系統(tǒng)的日志,給老師分配權(quán)限,發(fā)布公告,統(tǒng)計系統(tǒng)的數(shù)據(jù),支持和維護(hù)系統(tǒng)的正常運(yùn)行。2.4業(yè)務(wù)功能說明2.4.1批量導(dǎo)入1、功能介紹本功能模塊是由管理員進(jìn)行批量的導(dǎo)入,分為隊員的批量導(dǎo)入和試題的批量導(dǎo)入。人員的批量導(dǎo)入首先管理員下載一個Excel的模板[4],根據(jù)里面的樣式進(jìn)行填寫,填寫用戶的基本信息,在填寫完成以后點(diǎn)擊提交,表單會進(jìn)行一次檢測,會給出幾條信息合格,幾條信息不合格,會將合格的插入到數(shù)據(jù)庫中,將不符合要求的報告出來。試題的批量導(dǎo)入也需要管理員下載一個Excel的模板,根據(jù)里面的樣式進(jìn)行填寫試題的各種信息,包括題目、試題描述、試題類型、試題難易程度、時刻答案和選擇題的選項。在填寫完成以后點(diǎn)擊提交,表單會進(jìn)行一次檢測,會給出幾條信息合格,幾條信息不合格,會將合格的插入到數(shù)據(jù)庫中,將不符合要求的報告出來,讓用戶可以知道自己錄入的哪條數(shù)據(jù)不合格,方便進(jìn)行修改操作。2、批量導(dǎo)入用例圖教師/管理員試題批量導(dǎo)入用例圖如圖2-1。管理員人員批量導(dǎo)入用例圖如圖2-2所示。(1)用例名稱批量導(dǎo)入。(2)參與者管理員。(3)基本路徑系統(tǒng)管理員登錄之后,管理員登錄頁面有一個批量導(dǎo)入按鈕,點(diǎn)擊按鈕下載一個模板,按照模板進(jìn)行填寫,填寫完之后選擇文件進(jìn)行提交。(4)前置條件管理員能進(jìn)行正常的登錄操作后。(5)后置條件普通用戶填寫基本信息,包括學(xué)號(工號),密碼、手機(jī)、郵箱、真實姓名。學(xué)號(工號)是唯一且未在本系統(tǒng)注冊過的,郵箱和手機(jī)必須是正確的格式,才可注冊成功之后跳轉(zhuǎn)至登錄界面。圖2-1教師試題批量導(dǎo)入用例圖圖2-2管理員人員批量導(dǎo)入用例圖3、批量導(dǎo)入活動圖用戶批量導(dǎo)入時活動圖如圖2-3所示。先要下載Excel模板,將數(shù)據(jù)填寫到表格中,再將表格上傳到系統(tǒng)中,上傳中進(jìn)行驗證,全部正確將成功上傳到數(shù)據(jù)庫。圖2-3用戶批量導(dǎo)入活動圖圖2-5學(xué)生/教師/管理員登錄活動圖2.4.2登錄功能1、功能介紹本功能模塊是學(xué)生、老師和管理員進(jìn)入系統(tǒng)的必經(jīng)之路,用戶沒有登錄就不能對系統(tǒng)里面的功能進(jìn)行操作。學(xué)生、教師和管理員他們有不同的登錄端口,通過輸入學(xué)號(工號)密碼和驗證碼進(jìn)行還有驗證碼進(jìn)行登錄。批量導(dǎo)入用例圖用戶登錄成功首先要填寫學(xué)號(工號)和密碼,然后還要填寫驗證碼,只有學(xué)號(工號)和密碼都正確才能成功登錄系統(tǒng)。用戶登錄例圖如圖2-4所示。(1)參與者學(xué)生、教師和管理員。(2)基本路徑需要用戶在登錄頁面選擇自己要登錄的端口,輸入正確的學(xué)號(工號)和密碼點(diǎn)擊登錄。(3)前置條件用戶輸入自己的學(xué)號(工號)和密碼。(4)后置條件用戶填寫賬號、密碼,填寫驗證碼單擊登錄按鈕。如果信息正確即可進(jìn)入本系統(tǒng),否則提示錯誤,重新輸入信息。3、登錄功能活動圖學(xué)生/教師/管理員登錄功能活動圖如圖2-5所示。圖2-4學(xué)生/教師/管理員登錄用例圖2.4.3試卷管理1、功能介紹教師對生成試卷的管理,可以查看自己以前所出的試卷,也可以以生成PDF形式方便存檔管理。2、試卷管理用例圖教師通過對試卷進(jìn)行統(tǒng)一管理,可以方便查看試卷和試卷詳情,也可以把試卷生成PDF[5]形式。試卷管理還有組卷功能,組卷功能在組卷功能處進(jìn)行展示。教師可以查看試卷信息和試卷的增刪改查操作,以及試卷生成PDF。試卷管理用例圖如圖2-6所示。(1)參與者教師。(2)基本路徑教師登錄系統(tǒng)/點(diǎn)擊試卷管理/點(diǎn)擊查看試卷/修改試卷/進(jìn)行試卷試題的部分修改。教師登錄系統(tǒng)/點(diǎn)擊試卷管理/點(diǎn)擊生成PDF。教師登錄系統(tǒng)/點(diǎn)擊試卷管理/點(diǎn)擊刪除試卷。(3)用例說明教師可以管理自己所教科目,自己所出的試卷。3、試卷管理活動圖試卷修改首先點(diǎn)擊試卷管理,查看你有多少張試卷,有試卷的修改和試卷生成PDF。點(diǎn)擊試卷修改會將你選中試卷的信息帶入到你要修改試卷頁面,修改試卷信息,點(diǎn)擊提交。試卷管理修改功能活動圖如圖2-7所示。試卷生成PDF功能活動圖如圖2-8所示。圖2-6試卷管理用例圖圖2-7試卷修改活動圖圖2-8試卷生成PDF活動圖2.4.4題庫管理1、功能介紹題庫管理模塊,是由教師進(jìn)行管理,教師管理這學(xué)期所交科目對應(yīng)的題庫。題庫里面存儲了包括試題類型,試題的難易程度,試題所屬的章節(jié),試題的正確答案,以及編程題的題目描述和測試樣例。教師通過Echarts[6]的形式來查看本系統(tǒng)的題庫,這樣更加的直觀,方便教師查看題庫數(shù)據(jù)一目了然。使用分布式題庫[7]技術(shù),減輕數(shù)據(jù)庫壓力。教師對試題的批量導(dǎo)入功能,首先下載添加試題Excel模板,按照模板里面的樣式和提示信息進(jìn)行填寫,填寫完成后點(diǎn)擊提交,會將符合填寫要求的成功插入到數(shù)據(jù)庫中,將填寫不符合規(guī)格的信息返回回來。教師對題庫里面的試題進(jìn)行手動的添加、修改和刪除。系統(tǒng)會根據(jù)學(xué)生的答題情況會自動更新試題的難易程度[8]。管理員添加和生成新的題庫。題庫管理模塊是本系統(tǒng)的核心模塊。2、題庫管理用例圖教師具有查看試題、增加試題、修改試題和刪除試題的功能,錄入試題時需要填寫試題題目、試題描述、試題類型和答案。題庫管理與試卷生成系統(tǒng)題庫管理用例圖如圖2-9所示。(1)參與者教師。(2)基本路徑教師登錄系統(tǒng)/進(jìn)入教師管理頁面/點(diǎn)擊題庫管理/點(diǎn)擊批量導(dǎo)入試題下載Excel模板/填寫要添加的試題信息/點(diǎn)擊上傳。教師登錄系統(tǒng)/進(jìn)入教師管理頁面/點(diǎn)擊題庫管理/點(diǎn)擊添加試題/填寫試題信息/點(diǎn)擊保存。教師登錄系統(tǒng)/進(jìn)入教師管理頁面/點(diǎn)擊題庫管理/點(diǎn)擊修改試題/填寫要修改的試題信息/點(diǎn)擊保存。教師登錄系統(tǒng)/進(jìn)入教師管理頁面/點(diǎn)擊題庫管理/點(diǎn)擊刪除/點(diǎn)擊確定。管理員登錄系統(tǒng)/進(jìn)入管理員管理頁面/點(diǎn)擊題庫管理/點(diǎn)擊添加題庫/填寫要添加的題庫名等信息/點(diǎn)擊保存。(3)用例說明教師可以管理自己所教科目所對應(yīng)的題庫。3、修改試題活動圖試題修改試題修改功能活動圖如圖2-10所示。4、錄入試題活動圖試題錄入功能活動圖如圖2-11所示。2.4.5教師進(jìn)行組卷1、功能介紹本模塊是為了解決教師組卷而設(shè)計的,意在解決傳統(tǒng)組卷的周期長,試題覆蓋的知識點(diǎn)不夠全面,試卷的保密性,以及試卷的反復(fù)修正等問題,極大的解決了試卷的重復(fù)修改性。教師組卷主要分為兩種形式,一種是手動組卷類似于傳統(tǒng)的組卷模式,另一種是自動快速組卷模式。手動組卷點(diǎn)擊手動組卷,教師填寫篩選信息,點(diǎn)擊檢索查找符合自己要求的試題,然后進(jìn)行手動的拖拽,將自己想要的試題添加到待選區(qū),然后在次進(jìn)行篩選,點(diǎn)擊提交。自動組卷使用了遺傳算法,教師填寫篩選信息,點(diǎn)擊檢索查看每種類型題填寫自己想要的每個試題的數(shù)量,設(shè)置分?jǐn)?shù)。組卷模塊是本系統(tǒng)的核心模塊。圖2-10試題修改活動圖圖2-11試題錄入活動圖圖2-9題庫管理用例圖2、組卷功能用例圖組卷功能包括手動組卷和自動組卷,教師組卷功能用例圖如圖2-13所示。圖2-13教師組卷用例圖(1)基本路徑點(diǎn)擊試卷管理/填寫篩選的信息/選擇篩選出來的試題到待選區(qū)/從待選區(qū)中選出最終的試題/點(diǎn)擊提交生成試卷。自動添加試卷/選自動組卷按鈕/填寫每個類型題的數(shù)量和分?jǐn)?shù)/點(diǎn)擊提交生成試卷。(2)后置條件點(diǎn)擊生成試卷后,可以查看剛組成的試卷。圖2-14手動組卷活動圖圖2-15自動組卷活動圖3、手動組卷活動圖手動組卷功能活動圖如圖2-14所示。4、自動組卷活動圖自動組卷功能活動圖如圖2-15所示。2.4.6發(fā)布消息1、功能介紹教師/管理員點(diǎn)擊發(fā)送消息,填寫信息內(nèi)容,點(diǎn)擊發(fā)送按鈕點(diǎn)擊確定發(fā)送,消息發(fā)送成功,否則消息不會發(fā)送。2.4.7管理員管理系統(tǒng)日志1、功能介紹本系統(tǒng)會記錄每一個登錄到本系統(tǒng)的人的每一次操作,將操作信息存儲到數(shù)據(jù)庫中。解決因用戶操作不當(dāng)造成的系統(tǒng)數(shù)據(jù)丟失的找回,每一條操作都有記錄,方便出現(xiàn)問題時的解決和責(zé)任劃分。2.4.8管理員權(quán)限管理1、功能介紹管理員給老師分配權(quán)限,方便了權(quán)限的管理和分配。2、管理員權(quán)限管理用例圖管理員權(quán)限管理用例圖如圖2-16所示。圖2-16管理員權(quán)限管理用例圖3、管理員權(quán)限管理活動圖管理員點(diǎn)擊權(quán)限修改信息,選擇你要分配權(quán)限的用戶,然后可以根據(jù)菜單的內(nèi)容點(diǎn)擊將想要分配的權(quán)限,這樣就可以給用戶重新分配權(quán)限,將分配好的信息數(shù)據(jù)插入到數(shù)據(jù)庫中。管理員權(quán)限管理活動圖如圖2-17所示。圖2-17管理員權(quán)限管理用例圖圖2-18教師管理用例圖2.4.9學(xué)生功能1、功能介紹學(xué)生登錄系統(tǒng)/進(jìn)入學(xué)生歡迎頁面,點(diǎn)擊查看自己的做題記錄可以查看自己做過的題,以及做題之后的記錄,是正確了還是錯誤了。學(xué)生點(diǎn)擊查看消息還可以查看自己教師發(fā)送的消息。2.4.10教師管理綜合1、功能介紹教師對學(xué)院、專業(yè)、科目、科目所對應(yīng)的章節(jié)、班級和學(xué)生的管理。對組卷管理、題庫管理和試卷的管理功能在試卷、題庫、組卷模塊進(jìn)行體現(xiàn)。教師管理用例圖如圖2-18所示。2.5性能與安全需求2.5.1信息安全性1、數(shù)據(jù)備份系統(tǒng)會在固定的時間間隔上自動對系統(tǒng)的數(shù)據(jù)庫進(jìn)行備份,保證了意外情況發(fā)生數(shù)據(jù)丟失的情況下數(shù)據(jù)的回復(fù),自動備份避免了人為上的操作不規(guī)范導(dǎo)致的數(shù)據(jù)不準(zhǔn)確性。2、數(shù)據(jù)加密在用戶密碼的信息存儲上,采用MD5[9]的數(shù)據(jù)加密形式,保證用戶信息的安全,即使是不法操作獲取到了數(shù)據(jù)庫的信息,他也無法通過正常的登錄進(jìn)入系統(tǒng)。3、數(shù)據(jù)庫使用MySQL這種數(shù)據(jù)庫,它的好處是能夠支持大量數(shù)據(jù)的存儲,方便用戶操作時的信息交互。4、防止SQL注入后臺使用MyBatis框架提供的xml文件配置的方法,將操作時用到的SQL語句封裝在xml文件中,使用提供的自定義代碼塊注解,可以一次定義多次調(diào)用,方便了系統(tǒng)的靈活性,同時也防止了SQL注入的危險。同時使用監(jiān)聽器和連接器等手段加強(qiáng)防止SQL注入。前臺使用的前端檢驗功能,防止了用戶不正當(dāng)?shù)牟僮鳎瑢⒉徽_不符合條件的數(shù)據(jù)進(jìn)行攔截操作,降低后臺的工作壓力。2.5.2時間特性本系統(tǒng)在設(shè)計上大大加強(qiáng)了用戶的操作體驗和操作舒適性。增加用戶對系統(tǒng)的實用好感。1、模塊響應(yīng)時間要求本系統(tǒng)在各個模塊的交互上在0.5S時間規(guī)定中完成。2、數(shù)據(jù)處理時間要求采用AJAX技術(shù),進(jìn)行局部刷新操作,在短時間內(nèi)達(dá)到想要的結(jié)果,大大減少了因一條數(shù)據(jù)的操作反而查詢頁面中不用的數(shù)據(jù)對數(shù)據(jù)庫的操作和訪問。3、系統(tǒng)運(yùn)行時間要求系統(tǒng)在功能模塊調(diào)用時和查看統(tǒng)計圖的數(shù)據(jù)顯示,在0.1秒的時間內(nèi)完成。4、數(shù)據(jù)備份時間要求自動備份數(shù)據(jù)庫在不影響用戶的操作下完成,選定用戶基本不適用系統(tǒng)的凌晨2:00的時間進(jìn)行數(shù)據(jù)的拷貝存儲。在5.0秒的時間內(nèi)完成數(shù)據(jù)備份。2.5.3數(shù)據(jù)特性對不同的數(shù)據(jù)類型進(jìn)行不同的數(shù)據(jù)處理方法,使用HTML5技術(shù),在前端就限定和檢驗數(shù)據(jù)的格式,是否符合數(shù)據(jù)庫的數(shù)據(jù)格式。例如再添加郵箱和手機(jī)電話時,采用自定義EL表達(dá)式來驗證你填寫的郵箱和手機(jī)電話是否符合要求,如果不符合要求時,前臺頁面會提示你你填寫信息不符合要求,只有你填寫的信息正確無誤才能向后臺提交。系統(tǒng)中規(guī)定的一些數(shù)據(jù)例如試題的難易程度這種信息就不讓用戶填寫,而是使用選擇的形式,讓用戶進(jìn)行點(diǎn)擊。系統(tǒng)時間上采用精確到秒的形式,在一定程度上保證了數(shù)據(jù)的精確性。2.6本章小結(jié)從需求的角度系統(tǒng)的介紹了本章的任務(wù)目標(biāo)和系統(tǒng)的功能模塊。我們從課題的調(diào)研,市場的分析,操作的可行性,完成的所需要的人力,以及開發(fā)周期。使用用例圖和活動圖進(jìn)行闡述系統(tǒng)的設(shè)計和功能,通過本章讓用戶對本系統(tǒng)有初步的了解。系統(tǒng)概要設(shè)計3.1系統(tǒng)體系結(jié)構(gòu)本系統(tǒng)使用MVC(ModelViewControllor)架構(gòu)設(shè)計,使用模型、視圖和控制的模式,顯示信息的前臺頁面和后端代碼的分離。系統(tǒng)邏輯是用戶從前臺頁面操作,通過數(shù)據(jù)請求將操作傳給后臺,后臺業(yè)務(wù)邏輯根據(jù)用戶要求去數(shù)據(jù)庫請求,數(shù)據(jù)庫將后臺發(fā)送上來請求查詢之后將數(shù)據(jù)返回給服務(wù)端,服務(wù)端將數(shù)據(jù)庫傳上來的數(shù)據(jù)傳給前臺頁面。其中模型是系統(tǒng)的數(shù)據(jù)庫,視圖是由用戶端的瀏覽器組成,后臺管理由Controller控制器層、Service業(yè)務(wù)邏輯層、Dao數(shù)據(jù)訪問層、Mapper數(shù)據(jù)持久化層四層組成。使用MySQL數(shù)據(jù)庫,保證業(yè)務(wù)操作的連貫性。使用SSM框架,方便項目開發(fā)和后期管理。使用Tomcat服務(wù)器,搭建能符合本系統(tǒng)要求的后端服務(wù)器。使用HTTP協(xié)議采用Get和Post的請求方式,是本系統(tǒng)的請求更加的簡單靈活。系統(tǒng)架構(gòu)圖如圖3-1所示。圖3-1系統(tǒng)架構(gòu)圖3.2系統(tǒng)前端設(shè)計本系統(tǒng)前端設(shè)計(即MVC架構(gòu)模式中的View層)主要涉及JSP、CSS、Html、JavaScrip、JQuery、Ajax等技術(shù)和BootStrap前端框架,其中BootStrap作為前臺頁面的庫,方便樣式的修改,做到了自適應(yīng),這使得系統(tǒng)可以突破設(shè)備屏幕的限制。B/S架構(gòu)通過Web瀏覽器來實現(xiàn)用戶工作界面,這種模式在前端實現(xiàn)了極少部分業(yè)務(wù)邏輯。3.3功能模塊設(shè)計3.3.1批量導(dǎo)入模塊1、需求介紹本功能模塊是管理員導(dǎo)入系統(tǒng)用戶,這是給高校內(nèi)部使用的題庫管理與試卷生成系統(tǒng),所以不需要用戶的手動注冊,管理員會根據(jù)你的學(xué)號給你創(chuàng)建賬號,給你默認(rèn)的密碼和一些基本信息。2、視圖層設(shè)計管理員點(diǎn)擊批量導(dǎo)入人員的按鈕,會下載一個Excel的模板,里面回填有要寫填寫的樣例,管理員將要錄入的人員的信息填寫到Excel表格中。然后選擇剛剛填寫好的Excel文件上傳。3、控制層設(shè)計系統(tǒng)使用Excel的插件來接收Excel文件??刂茖訒z測Excel里面的數(shù)據(jù)是否符合數(shù)據(jù)庫錄入的要求,如果有不符合條件的數(shù)據(jù),后臺會給前臺發(fā)送一條消息,說哪條數(shù)據(jù)不符合,用來提示用戶數(shù)據(jù)填寫不合格,方便用戶查找哪條不合格,很大程度上節(jié)約了時間,減輕了用戶的工作量這時后臺不會將數(shù)據(jù)插入到數(shù)據(jù)庫中,之后將所有的信息都核對成功后,符合添加到數(shù)據(jù)的格式時,才能將所有的信息插入到數(shù)據(jù)庫中。本層業(yè)務(wù)邏輯涉及到,StudentAction、TeacherAction、AdminAction控制層實體類。4、業(yè)務(wù)邏輯層設(shè)計本層業(yè)務(wù)邏輯涉及到通過前臺界面上傳的Excel文件,傳給控制層然后傳給Service服務(wù)層進(jìn)行解析,將解析結(jié)果返還給它的上一層,向下將數(shù)據(jù)插入到數(shù)據(jù)庫中。5、數(shù)據(jù)訪問層設(shè)計本層業(yè)務(wù)邏輯涉及到,StudentMapper.xml、TeacherMapper.xml、AdminMapper.xml。3.3.2登錄模塊1、需求介紹登錄功能模塊是使用本系統(tǒng)全部功能的一個必要條件。本系統(tǒng)由三類用戶組成,每類用戶有自己不同的登錄接口,你是哪一類用戶,點(diǎn)擊哪一類用戶用的登錄接口,然后輸入學(xué)號(工號)和密碼以及驗證碼進(jìn)行登錄,如果驗證碼不正確,學(xué)號(工號)和密碼是不會傳給后臺,只有驗證碼正確才能將學(xué)號(工號)和密碼。不同的教師登錄系統(tǒng)后,會在不同的左側(cè)導(dǎo)航欄的功能有所不同。2、視圖層設(shè)計前臺頁面含有用戶名框和密碼框,有一個驗證碼填寫框,有一個登錄按鈕和一個重置按鈕。3、控制層設(shè)計登錄模塊設(shè)計,通過前臺傳上來的數(shù)據(jù)在對應(yīng)的StudentAction、TeacherAction、AdminAction,將數(shù)據(jù)與對應(yīng)的數(shù)據(jù)表進(jìn)行匹配,若果學(xué)號(工號)和密碼都正確,會根據(jù)這個用戶表的Id值在RoleAction,在對應(yīng)的Role_Menu表查找對應(yīng)的權(quán)限菜單,將菜單放到左側(cè)導(dǎo)航欄。本層業(yè)務(wù)邏輯涉及到,StudentAction、TeacherAction、AdminAction、RoleAction、MenuAction。4、業(yè)務(wù)邏輯層設(shè)計本層業(yè)務(wù)邏輯涉及到前臺將數(shù)據(jù)信息傳遞到Action,然后調(diào)用業(yè)務(wù)層進(jìn)行驗證、設(shè)計IStudentService、StudentService、StudentDao、ITeacherService、TeacherService、TeacherDao、IAdminService、AdminService、AdminDao等。5、數(shù)據(jù)訪問層設(shè)計本層業(yè)務(wù)邏輯涉及到,StudentMapper.xml、TeacherMapper.xml、AdminMapper.xml、RoleMapper.xml、MenuMapper.xml。3.3.3試卷模塊1、需求介紹本功能模塊意在解決老師對試卷的管理和存檔,試卷可以生成PDF。2、視圖層設(shè)計老師通過登錄進(jìn)入到本系統(tǒng),查看左側(cè)的導(dǎo)航欄,點(diǎn)擊試卷功能,老師能查看自己所出的卷子記錄。3、控制層設(shè)計本系統(tǒng)在設(shè)計時在用戶登錄時,根據(jù)用戶的學(xué)號(工號),通過RoleAction查看Role_Menu表里面菜單查看自己被授權(quán)的科目的試卷管理。點(diǎn)擊試卷管理通過PaperAction查看試卷。本層業(yè)務(wù)邏輯涉及到,RoleAction、MenuAction、PaperAction。4、業(yè)務(wù)邏輯層設(shè)計本層業(yè)務(wù)邏輯涉及到,IRoleService、RoleService、RoleDao、IMenuService、MenuService、MenuDao、IPaperService、PaperService、PaperDao。5、數(shù)據(jù)訪問層設(shè)計本層業(yè)務(wù)邏輯涉及到,RoleMapper.xml、MenuMapper.xml、PaperMapper.xml。3.3.4題庫模塊1、需求介紹題庫管理是本系統(tǒng)的重點(diǎn)所在,也是大家想要解決傳統(tǒng)考試沒有題庫,老師每次組卷都需要大量查找紙質(zhì)試卷和各種練習(xí)冊上的題,這樣不僅麻煩而且時間周期還會加長,而且伴隨之試卷的管理等一些問題。有了題庫,可以存儲大量的試題供老師參考,給學(xué)生組織測試或者是正式的考試用。題庫對試題進(jìn)行分類管理,包括試題類型、試題的難易程度、試題的知識點(diǎn)包含的章節(jié)、試題描述、試題的提交數(shù)量、試題的正確數(shù)、試題的題目解析和試題的答案。試題的難易程度會根據(jù)提交量和正確量進(jìn)行計算,動態(tài)更新試題的難易程度。包括試題的錄入,有手動錄入和批量導(dǎo)入兩種方式,批量導(dǎo)入方便試題的大量錄入。題庫的動態(tài)添加,題庫是可以根據(jù)后來業(yè)務(wù)的發(fā)展要求添加數(shù)據(jù)庫。為今后業(yè)務(wù)拓展做準(zhǔn)備。2、視圖層設(shè)計老師通過登錄進(jìn)入到本系統(tǒng),查看左側(cè)的導(dǎo)航欄,點(diǎn)擊題庫管理功能,選擇題庫,點(diǎn)擊試題導(dǎo)入,點(diǎn)擊批量導(dǎo)入,會下載一個Excel的模板,里面回填有要寫填寫的樣例,管理員將要錄入的人員的信息填寫到Excel表格中。然后選擇剛剛填寫好的Excel文件上傳。老師通過登錄進(jìn)入到本系統(tǒng),查看左側(cè)的導(dǎo)航欄,點(diǎn)擊題庫管理功能,選擇題庫,點(diǎn)擊試題導(dǎo)入,點(diǎn)擊手動添加試題,填寫試題信息,點(diǎn)擊確定保存。點(diǎn)擊題庫管理,查看試題,可以選擇對實體進(jìn)行,修改和刪除操作。管理員點(diǎn)擊題庫管理,選擇添加題庫。3、控制層設(shè)計本系統(tǒng)在設(shè)計時在用戶登錄時,根據(jù)用戶的學(xué)號(工號),通過RoleAction查看Role_Menu表里面菜單查看自己被授權(quán)的科目的題庫管理。點(diǎn)擊題庫管理通過QuestionAction查看題庫。本層業(yè)務(wù)邏輯涉及到,RoleAction、MenuAction、QuestionAction、KemuAction、SubjectAction。4、業(yè)務(wù)邏輯層設(shè)計本層業(yè)務(wù)邏輯涉及到用戶根據(jù)的自己的角色信息進(jìn)行管理功能操作涉及到有IMenuService、MenuService、MenuDao、IQuestionService、QuestionService、QuestionDao、IKemuService、KemuService、KemuDao、ISubjectService、SubjectService、SubjectDao。5、數(shù)據(jù)訪問層設(shè)計本層業(yè)務(wù)邏輯涉及到,RoleMapper.xml、MenuMapper.xml、QuestionMapper.xml、KemuMapper.xml、SubjectMapper.xml。3.3.5組卷模塊1、需求介紹組卷功能也是本系統(tǒng)的重點(diǎn),本功能模塊意在解決教師每次在組織學(xué)生自測和大型的考試周期太長的問題,這樣能夠大打的解決教師在組卷時的時間周期太長的問題,方便了教師組織自測和期中期末考試。2、視圖層設(shè)計老師通過登錄進(jìn)入到本系統(tǒng),查看左側(cè)的導(dǎo)航欄,點(diǎn)擊試卷管理功能,點(diǎn)擊手動組卷,頁面會進(jìn)行跳轉(zhuǎn)到組卷頁面,這里需要教師添加試卷名稱,試卷整體的難易程度,選擇要使用的題庫,點(diǎn)擊進(jìn)行下一步操作,查看到題庫的試題,頁面中會顯示該題庫的試題,還有試題類型的篩選,試題章節(jié)的篩選,將想要的題添加到待選區(qū),點(diǎn)擊提交,系統(tǒng)就會將你選擇的試題添加到你組的試卷中。除了手動組卷功能,還有自動組卷功能,點(diǎn)擊自動組卷,頁面會跳轉(zhuǎn)到組卷頁面,這里需要教師添加試卷名稱,試卷整體的難易程度,選擇要使用的題庫,選擇章節(jié),點(diǎn)擊進(jìn)行下一步操作,會查看出你給出條件的本題庫的給種類型題的數(shù)量,用戶選擇每個類型題的數(shù)量,給定分?jǐn)?shù)添加提交這樣系統(tǒng)就會給你組成試卷。3、控制層設(shè)計本系統(tǒng)在設(shè)計時在用戶登錄時,根據(jù)用戶的學(xué)號(工號),通過RoleAction查看Role_Menu表里面菜單查看自己被授權(quán)的科目的試卷管理。。本層業(yè)務(wù)邏輯涉及到,RoleAction、MenuAction、PaperAction、KemuAction、SubjectAction。4、業(yè)務(wù)邏輯層設(shè)計本層業(yè)務(wù)邏輯涉及到,MenuService、MenuDao、IQuestionService、QuestionService、QuestionDao、IKemuService、KemuService、KemuDao、ISubjectService、SubjectService、SubjectDao、IPaperService、PaperService、PaperDao、IChapterService、ChapterService、ChapterDao。5、數(shù)據(jù)訪問層設(shè)計本層業(yè)務(wù)邏輯涉及到,RoleMapper.xml、MenuMapper.xml、QuestionMapper.xml、KemuMapper.xml、SubjectMapper.xml、PaperMapper.xml將接收到數(shù)據(jù)插入到數(shù)據(jù)庫中。3.3.6發(fā)布消息模塊管理員和教師可以對學(xué)生進(jìn)行發(fā)送消息。3.3.7管理員管理系統(tǒng)日志模塊1、需求介紹管理員進(jìn)行系統(tǒng)的管理,為了解決用戶操作不當(dāng)造成的系統(tǒng)數(shù)據(jù)的丟失,是管理員能夠進(jìn)行數(shù)據(jù)的找回。2、視圖層設(shè)計管理員登錄系統(tǒng)之后,查看左側(cè)的導(dǎo)航欄,點(diǎn)擊系統(tǒng)日志查看,查看系統(tǒng)日志表記錄的數(shù)據(jù)信息。3、控制層設(shè)計管理員點(diǎn)擊系統(tǒng)日志管理,然后可以進(jìn)行查看日志和刪除日志操作使用SystemLogAction控制層。4、業(yè)務(wù)邏輯層設(shè)計本層業(yè)務(wù)邏輯涉及到ISystemLogService、SystemService、SystemDao。5、數(shù)據(jù)訪問層設(shè)計本層業(yè)務(wù)邏輯涉及到System.xml。3.3.8權(quán)限管理模塊1、需求介紹權(quán)限管理模塊是用來分配和回收不同的用戶權(quán)限功能,將統(tǒng)一進(jìn)行管理用戶的權(quán)限。2、視圖層設(shè)計管理員通過登錄進(jìn)入到本系統(tǒng),點(diǎn)擊菜單管理,可以查看到系統(tǒng)的所有的菜單信息,點(diǎn)擊分配權(quán)限,將權(quán)限分配給個人。3、控制層設(shè)計本系統(tǒng)在設(shè)計時在用戶登錄時,根據(jù)用戶的學(xué)號(工號),通過RoleAction查看Role_Menu表里面菜單查看自己被授權(quán)的科目的試卷管理。本層業(yè)務(wù)邏輯涉及到,RoleAction、MenuAction、TeacherAction。4、業(yè)務(wù)邏輯層設(shè)計本層業(yè)務(wù)邏輯涉及到ITeacherService、TeacherService、TeacherDao等通過用的的不同權(quán)限對應(yīng)加載不同的導(dǎo)航欄。5、數(shù)據(jù)訪問層設(shè)計本層業(yè)務(wù)邏輯涉及到,RoleMapper.xml、MenuMapper.xml、TeacherMapper.xml將數(shù)據(jù)從數(shù)據(jù)庫中查找到,返回給邏輯服務(wù)層,將數(shù)據(jù)顯示到Jsp頁面。3.3.9學(xué)生模塊1、需求介紹本功能模塊是學(xué)生的功能。2、視圖層設(shè)計學(xué)生通過登錄進(jìn)入到本系統(tǒng),學(xué)生可以看到這自己的信息,可以查看自己做過題的情況,可以查看自己考過得試卷。3、控制層設(shè)計本層業(yè)務(wù)邏輯涉及到,PaperAction、QuestionAction。4、業(yè)務(wù)邏輯層設(shè)計本層業(yè)務(wù)邏輯涉及到,IPaperService、PaperService、PaperDao、IQuestionService等。5、數(shù)據(jù)訪問層設(shè)計本層業(yè)務(wù)邏輯涉及到,PaperMapper.xml、QuestionMapper.xml。3.3.10教師綜合管理模塊1、需求介紹本功能模塊是學(xué)生的功能。2、視圖層設(shè)計教師通過登錄進(jìn)入到本系統(tǒng),教師可以看到自己左側(cè)導(dǎo)航欄,可以查看到自己能管理的功能模塊。3、控制層設(shè)計本層業(yè)務(wù)邏輯涉及到,PaperAction、PaperDescribeAction、QuestionAction、DepartmentAction、ClassAction、MajorAction、StudentAction。4、業(yè)務(wù)邏輯層設(shè)計本層業(yè)務(wù)邏輯涉及到,IPaperService、PaperService、PaperDao、IPaperDescribeService、PaperDescribeService、PaperDescribeDao、IQuestionService、QuestionService、QuestionDao、IDepartmentService、DepartmentService、DepartmentDao、IClassService、ClassService、ClassDao、IMajorService、MajorService、MajorDao、IStudentService、StudentService、StudentDao等。5、數(shù)據(jù)訪問層設(shè)計本層業(yè)務(wù)邏輯涉及到,PaperMapper.xml、PaperDescribeMapper.xml、QuestionMapper.xml、DepartmentMapper.xml、ClassMapper.xml、MajorMapper.xml、StudentMapper.xml。3.3.11數(shù)據(jù)庫轉(zhuǎn)儲模塊本功能模塊是管理員的功能。數(shù)據(jù)庫的轉(zhuǎn)儲做到了定時轉(zhuǎn)儲和手動轉(zhuǎn)儲兩部分。手動轉(zhuǎn)儲根據(jù)點(diǎn)擊按鈕,定時轉(zhuǎn)儲通過系統(tǒng)設(shè)定的時間進(jìn)行轉(zhuǎn)儲。涉及到BackupServlet。3.4本章小結(jié)本章介紹了題庫管理與試卷生成系統(tǒng)平臺的整體架構(gòu),功能模塊以及功能模塊的設(shè)計。通過需求設(shè)計、視圖設(shè)計、控制層設(shè)計、業(yè)務(wù)邏輯層設(shè)計、數(shù)據(jù)訪問層設(shè)計,以及數(shù)據(jù)的傳遞方式,進(jìn)行系統(tǒng)的概要設(shè)計。系統(tǒng)詳細(xì)設(shè)計和實現(xiàn)4.1數(shù)據(jù)庫設(shè)計4.1.1數(shù)據(jù)庫介紹本系統(tǒng)采用了MySQL數(shù)據(jù)庫與SSM框架聯(lián)合使用,其開放源代碼,使用增加索引的方式加快對關(guān)鍵字段的查找操作,縮短查找所用的時間,使用狀態(tài)碼方式對數(shù)據(jù)實現(xiàn)假刪除的操作??梢院唵蔚氖褂茫奖闵鲜?,有利于初學(xué)者開發(fā)Web項目使用,可以對增刪改查操作實行可視化。MySQL可以很好地和MyBatis框架結(jié)合使用,自動生成表結(jié)構(gòu)。4.1.2系統(tǒng)E-R圖圖4-1題庫管理與試卷生成系統(tǒng)系統(tǒng)E-R圖題庫管理與試卷生成系統(tǒng)系統(tǒng)數(shù)據(jù)庫人員有三張表學(xué)生、教師和管理員表,教師和管理員可以對試題進(jìn)行導(dǎo)入,管理員可以對人員表進(jìn)行導(dǎo)入這里是多對多關(guān)系,教師可以查看自己的所教科目所對應(yīng)的題庫,管理自己所教班級的學(xué)生。管理員和教師可以發(fā)布消息,學(xué)生可以查看消息和查看自己的做題記錄。4.1.3數(shù)據(jù)庫邏輯設(shè)計1、數(shù)據(jù)庫邏輯設(shè)計表根據(jù)本系統(tǒng)的實體聯(lián)系圖進(jìn)行轉(zhuǎn)換,本系統(tǒng)數(shù)據(jù)庫共有17張表,具體內(nèi)容如下。(1)用戶表用戶表分為學(xué)生表、教師表和管理員表。學(xué)生表包括學(xué)生的學(xué)號、密碼、真實姓名、電話、郵箱和班級等,其中班級是外鍵,與班級表的主鍵進(jìn)行關(guān)聯(lián)。如表4-1所示。表4-1學(xué)生表Student字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTNoVarchar(10)XUnique學(xué)生學(xué)號(賬號)NameVarchar(30)X學(xué)生真實姓名E-mailVarchar(50)郵箱(用于找回密碼)IpVarchar(30)上次登錄ipLogin_timeDate上次登錄時間ClassesInt(11)ForeignkeyClass(id)班級外鍵Phonevarchar(20)電話Delete_flagTinyint(1)假刪除教師表包括教師的工號、密碼、真實姓名、上次登錄時間和上次登錄IP等,其中教師工號唯一,每一個教師只能有一個工號與之對應(yīng)。教師表如表4-2所示。表4-2教師表Teacher字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTNoVarchar(10)XUnique教師工號(賬號)NameVarchar(30)X教師真實姓名E-mailVarchar(50)郵箱(用于找回密碼)IpVarchar(30)上次登錄ipLast_LoginDate上次登錄時間Delete_flagTinyint(1)X假刪除Phonevarchar(20)電話管理員表包括管理員的工號、密碼、真實姓名等,其中管理員工號唯一,每一個管理員只能有一個工號與之對應(yīng)。管理員表如表4-3所示。表4-3管理員表Manager字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTNoVarchar(10)XUnique管理員工號NameVarchar(30)X管理員真實姓名E-mailVarchar(50)郵箱(用于找回密碼)IpVarchar(30)上次登錄ipDelete_flagTinyint(1)假刪除Last_LoginDate上次登錄時間Phonevarchar(20)電話(2)試卷信息表 試卷信息表的存儲文件名為Paper,主要存放本系統(tǒng)中所有試卷信息,方便查看和管理。Paper表包括試卷名稱、發(fā)布人、發(fā)布時間、試卷描述、審核人、是否啟用、所屬科目和審核人等。其中發(fā)布人和審核人為外鍵。主鍵是系統(tǒng)ID。試卷信息表如表4-4所示。表4-4試卷信息表Paper字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTNameVarchar(50)X試卷名稱PublisherInt(11)X管理員或者老師IDTimeDateX發(fā)布時間DescribeVarchar(5000)試卷描述SubjectInt(11)XForeignkeySubject(id)所屬科目idDelete_flagTinyint(1)假刪除flagReviewInt(11)ForeignkeyManager(Id)審核人Use_flagTinyint(1)X是否啟用試卷詳情信息表試卷信息表的存儲文件名為Paper_Describe。主要存放本系統(tǒng)中所有試卷詳情的所有信息。方便教師查看試卷的具體信息,可以有效的進(jìn)行統(tǒng)一管理,更符合現(xiàn)在發(fā)展的要求。Paper_Describe包括試題、所屬試卷和分值等字段,其中試卷和試題是外鍵。主鍵是系統(tǒng)ID。試卷詳情信息表如表4-5所示。表4-5試卷詳情信息表Paper_Describe字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTQuestionInt(11)XForeignkey試題idQuestion(id)PaperInt(11)XForeignkey所屬試卷Paper(id)ScoreDoubleX分值Delete_flagTinyint(1)假刪除flag題型信息表題型表中包含題型名稱。題型表如表4-6所示。 表4-6題型表信息表Question_Type字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTnameVarchar(50)X題型章節(jié)信息表章節(jié)表中包含章節(jié)名稱。章節(jié)表如表4-7所示。 表4-7章節(jié)表信息表Chapter字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTnameVarchar(50)X章節(jié)名稱科目信息表科目表如表4-8所示。表4-8科目表信息表Subject字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTNameVarchar(100)X科目名稱Delete_flagTinyint(1)假刪除flag題庫信息表題庫信息表的存儲文件名為question,它主要用來存儲本系統(tǒng)中試題所有基本信息。題庫表表包括題目、題目描述、題型、難度、提交量、正確量、題目解析、章節(jié)和答案等字段。主鍵是系統(tǒng)ID。其中外鍵有題型表和章節(jié)表。試題表如表4-9所示。表4-9試題表Question字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTTitleVarchar(50)X題目標(biāo)題(用于查重)DescribeVarchar(800)X題目描述TypeInt(11)X題型DifficultyIntX難度SubmitInt(11)X提交數(shù)量CorretIntX正確數(shù)AnalysisVarchar(1000)題目解析ChapterInt(11)X章節(jié)Delete_flagTinyint(1)假刪除flagAvarchar(500)選項Bvarchar(500)選項Cvarchar(500)選項Dvarchar(500)選項Evarchar(500)選項Fvarchar(500)選項Gvarchar(500)選項Hvarchar(500)選項Ivarchar(500)選項Jvarchar(500)選項Answervarchar(200)答案Use_flagTinyint(1)是否啟用(8)權(quán)限菜單表信息表 權(quán)限菜單信息表的存儲文件名Menu,它主要用來存儲本系統(tǒng)中權(quán)限菜單信息。本表包括菜單名稱、路徑、父節(jié)點(diǎn)、當(dāng)前節(jié)點(diǎn)、創(chuàng)建者和創(chuàng)建時間等字段。具體的數(shù)據(jù)類型和約束條件如表4-10所示。表4-10權(quán)限菜單信息表Menu字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTnameVarchar(50)X菜單名稱pathvarchar(100)X路徑node_idvarchar(255)X節(jié)點(diǎn)idparent_numberint(11)X父節(jié)點(diǎn)排序this_numberint(11)X當(dāng)前節(jié)點(diǎn)排序Delete_flagtinyint(2)X假刪除creatorint(11)X創(chuàng)建者create_timedateTimeX創(chuàng)建時間typeint(4)X菜單類型(9)權(quán)限信息表 角色菜單信息表的存儲文件名為Role_Menu,它主要用來存儲本系統(tǒng)中角色菜單信息。本表包括角色、創(chuàng)建人、創(chuàng)建時間等字段。其中主鍵是系統(tǒng)ID。權(quán)限表4-11所示。表4-11角色菜單表Role_Menu數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTrole_idint(11)X角色idcreatorint(11)X創(chuàng)建人create_timedatetimeX創(chuàng)建時間statustinyint(2)X狀態(tài)Delete_flagtinyint(2)X假刪除(10)系統(tǒng)日志記錄表 系統(tǒng)日志信息表的存儲文件名為Systemlog,它主要用來存儲本系統(tǒng)中所有基本信息。本表包括預(yù)登錄人、登錄人姓名、日志信息、請求路徑、描述信息、操作人IP、客戶端、操作系統(tǒng)等字段。主鍵是系統(tǒng)ID,外鍵有登錄人ID??梢钥旖萦行У牟榭匆驗檎`操作導(dǎo)致的系統(tǒng)宕機(jī),可以進(jìn)行數(shù)據(jù)的回復(fù)操作,可以準(zhǔn)確定位到每一個人的操作,看到每一個人的操作的內(nèi)容。具體的數(shù)據(jù)類型和約束條件如表4-12所示。表4-12系統(tǒng)日志信息表Systemlog字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTuser_idInt(11)X登錄人iduserNamevarchar(255)X登錄人姓名messagevarchar(255)X日志信息statusint(6)X狀態(tài)碼Delete_flagtinyint(2)X假刪除urlvarchar(255)X請求路徑descriptionvarchar(255)X描述信息iptinyint(2)X操作人ipclientvarchar(255)X客戶端create_timedatetimeX創(chuàng)建時間operationvarchar(255)X操作系統(tǒng)exceptionvarchar(255)X異常信息(11)錯題信息表 錯題信息表的存儲文件名為Wrong_Question,它主要用來存儲本系統(tǒng)中學(xué)生的錯題信息。本表包括醫(yī)試題、學(xué)生、試卷等字段。主鍵是系統(tǒng)ID,外鍵有試題的ID與試題表主鍵對應(yīng)、所屬專業(yè)ID與章節(jié)表主鍵對應(yīng)、所屬學(xué)生ID與學(xué)生表主鍵對應(yīng)、所屬試卷ID與試卷表主鍵對應(yīng)。具體的數(shù)據(jù)類型和約束條件的錯題表如表4-13所示。表4-13錯題信息表Wrong_Question字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTQuestionInt(11)XForeignkey試題idQuestion(id)SubjectInt(11)XForeignkey所屬專業(yè)Paper_catalog(id)StudentInt(11)XForeignkey所屬學(xué)生Paper_catalog(id)ExamInt(11)XForeignkey所屬試卷AUTO_INCREMENTDelete_flagTinyint(1)假刪除flagAnswerInt(11)答案StatusInt(11)狀態(tài)碼(12)其他信息表 它主要包括班級表Class、院系表Department、專業(yè)表Major、年級表Grade。包含了具體的信息,如系統(tǒng)ID信息,狀態(tài)信息和名稱信息等。具體的數(shù)據(jù)類型和約束條件如表4-14的班級表、表4-15的院系表、表4-16的專業(yè)表、表4-17的年級表所示。表4-14班級信息表Class字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTMajorint(11)X專業(yè)NameVarchar(50)X班級名稱Delete_flagVarchar(50)假刪除DepartmentVarchar(50)X學(xué)院GradeVarchar(50)X年級表4-15院系信息表Department字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTNameVarchar(50)X院系名稱Delete_flagTinyint(1)假刪除表4-16專業(yè)信息表Major字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTNameVarchar(50)X專業(yè)名稱Delete_flagTinyint(1)假刪除DepartmentInt(11)Xforeignkeydepartment(id)院系表4-17年級信息表Grade字段名數(shù)據(jù)類型為空約束備注IdInt(11)XPrimarykey系統(tǒng)idAUTO_INCREMENTNameVarchar(50)X班級名稱Delete_flagTinyint(1)假刪除flag4.2功能模塊詳細(xì)設(shè)計與實現(xiàn)4.2.1批量導(dǎo)入模塊1、功能描述批量導(dǎo)入功能模塊,方便系統(tǒng)數(shù)據(jù)的快速錄入,增強(qiáng)系統(tǒng)的實用性。需要將Excel里面的數(shù)據(jù)插入到數(shù)據(jù)庫中,解決系統(tǒng)管理員一條一條手動輸入的話,大大的浪費(fèi)時間,而且增加錄入數(shù)據(jù)的成本,還會增加數(shù)據(jù)錄入的錯誤率。批量導(dǎo)入將單一時間周期長的操作效率快。2、輸入項目首先創(chuàng)建Excel錄入模板,Excel中的格式要求固定的要求,讓用戶有統(tǒng)一的模板,用戶根據(jù)Excel模板里面的提示案例,填寫對應(yīng)數(shù)據(jù),Excel里的數(shù)據(jù)量不宜太多。3、輸出項目Excel文件里面的數(shù)據(jù)錄入系統(tǒng)的數(shù)據(jù)庫中,如有不符合的數(shù)據(jù),將返還的結(jié)果發(fā)給用戶,只有表格文件里面的數(shù)據(jù)都正確的情況下才能正常的錄入到系統(tǒng)的數(shù)據(jù)庫中。4、程序算法管理員首先需要下載一個Excel模板,填寫數(shù)據(jù)信息上傳文檔。系統(tǒng)會根據(jù)你傳上來的Excel表格里面的數(shù)據(jù)進(jìn)行驗證,只有Excel的數(shù)據(jù)完全正確才能插入到數(shù)據(jù)庫中。Excel的批量導(dǎo)入分為人員的批量的導(dǎo)入和題庫的批量導(dǎo)入。通過factory.setSizeThreshold(MEMORY_THRESHOLD)設(shè)置內(nèi)存臨界值,并臨時存取臨時目錄里,使用request.getSession().getServletContex.getRealPath(“/”)+TEMP_DIRECTORYs設(shè)置臨時存儲目錄,使用upload.setFileMax()設(shè)置上傳文件最大值。接下來分別調(diào)用StudentAction、TeacherAction和ManagerAction類的add()和insert()方法,最后將Excel里面的數(shù)據(jù)插入到對應(yīng)的Student、Teacher和Manager的數(shù)據(jù)庫中。在試題批量導(dǎo)入時會調(diào)用QuestionAction類的addQuestion()和insert()方法。這樣不僅在進(jìn)行數(shù)據(jù)庫的查找操作時出現(xiàn)臟讀的情況,而且不利于數(shù)據(jù)庫數(shù)據(jù)的維護(hù)操作,更不符合業(yè)務(wù)邏輯的要求和軟件開發(fā)準(zhǔn)則。在進(jìn)行題庫的批量導(dǎo)入時,就不用事先查找題目是否存在,因為可以出現(xiàn)兩個題目完全相同的情況,比如說下列說法正確的是,所以在題庫進(jìn)行批量導(dǎo)入的時候,只需要驗證Excel表格中的數(shù)據(jù)是否正確即可,多正確的情況下調(diào)用QuestionAction的insert()方法,將數(shù)據(jù)插入到數(shù)據(jù)庫中。如果Excel表格中的數(shù)據(jù)又不符合要求的話就不能插入到數(shù)據(jù)中。如果批量導(dǎo)入成功的話,用戶將跳轉(zhuǎn)至歡迎頁面。5、時序圖學(xué)生批量導(dǎo)入時序圖如圖4-3所示。圖4-3學(xué)生批量導(dǎo)入時序圖教師批量導(dǎo)入時序圖如圖4-4所示。圖4-4教師批量導(dǎo)入時序圖教師/管理員試題批量導(dǎo)入時序圖如圖4-5所示。4.2.2登錄模塊1、功能描述題庫管理與試卷生成系統(tǒng)的登錄功能,輸入網(wǎng)址進(jìn)入本系統(tǒng)的登錄頁面,學(xué)生、教師和管理員選擇自己的登錄跳轉(zhuǎn)頁面點(diǎn)擊登錄。使用JavaScript技術(shù)對驗證碼進(jìn)行前臺頁面的驗證,如果驗證碼有錯誤會在前臺頁面進(jìn)行提示。2、輸入項目輸入學(xué)號(工號)、密碼和驗證碼。圖4-5教師/管理員試題批量導(dǎo)入時序圖3、輸出項目系統(tǒng)根據(jù)用戶輸入的學(xué)號(工號)、密碼和驗證碼與數(shù)據(jù)庫進(jìn)行比較,如果信息正確的話,用戶將登錄進(jìn)入到首頁,否則將提示用戶信息錯誤。4、程序算法用戶輸入網(wǎng)址進(jìn)入到本網(wǎng)站的登錄頁面,學(xué)生、教師和管理員選擇自己角色,通過訪問LoginAction.java類的jump()和entrance()方法進(jìn)入到自己的登錄接口,這里記性了兩次跳轉(zhuǎn)操作,用戶填寫自己的學(xué)號(工號)、密碼和驗證碼信息,點(diǎn)擊登錄按鈕。學(xué)生通過訪問LoginAction.java類的loginStudent()方法,將學(xué)號(工號)和密碼傳入到IStudentService.java、StudentService.java,通過StudentDao.javaa里面的checkStudentNamePassword()方法訪問StudentMapper.xml文件id為checkStudentNamePassword訪問Student數(shù)據(jù)表,將參數(shù)與數(shù)據(jù)庫的信息進(jìn)行對比,并返回對比的結(jié)果,通過前臺頁面反饋給用戶。同理教師和管理員通過自己所對應(yīng)的接口和方法進(jìn)行登錄。如果登錄成功的話,用戶將進(jìn)入系統(tǒng)的歡迎頁面。如果查詢結(jié)果為錯誤的話,返回登錄頁面,系統(tǒng)給出提示信息,讓用戶再一次進(jìn)行學(xué)號(工號)和密碼以及驗證碼的填寫。5、時序圖用戶選擇自己的登錄端口后輸入賬號、密碼和驗證碼,分別通過StudentAction、TeacherAction和ManagerAction類的checkLoginStudent()、checkLoginTeacher()和checkLoginManager()方法判斷輸入信息是否正確。如果數(shù)據(jù)查找成功的話,用戶會進(jìn)入到系統(tǒng)的歡迎頁面。學(xué)生、教師和管理員登錄時,需要輸入自己的學(xué)號(工號)、密碼和驗證碼點(diǎn)擊登錄進(jìn)行登錄。教師和管理員的登錄圖類似于學(xué)生登錄。學(xué)生登錄時序圖如圖4-6所示。圖4-6學(xué)生登錄模塊時序圖4.2.3試卷功能模塊1、功能描述題庫管理與試卷生成系統(tǒng)的試卷管理模塊能夠方便教師對試卷的管理,能夠大大減少教師對試卷管理上的時間,而且不怕試卷的丟失,方便試卷的存檔,即使是很久之前的試卷,教師也能夠輕松的找到,不用浪費(fèi)大量的時間在翻找歷史的試卷。教師可以對試卷可以進(jìn)行改動,重新進(jìn)行編寫,這樣能夠?qū)⒁酝钠谀┛荚囶},作為下一屆的期末模擬沖刺題來做,方便了試卷的靈活性使用,做到一次出卷隨時隨處使用。試卷還可生成PDF文件的形式,這樣能夠保障試卷的信息不能被修改,真正意義上的做到試卷的唯一性和不可隨意更改性,以免將來出現(xiàn)問題時作為評判依據(jù),也有有利于試卷的紙質(zhì)打印。2、程序算法用戶登錄進(jìn)入本系統(tǒng),首先系統(tǒng)會根據(jù)這個教師的角色和權(quán)限,加載他自己對應(yīng)的導(dǎo)航欄。點(diǎn)擊試卷管理功能,教師這樣就能看見自己所出的所有試卷。通過訪問show()方法里面的代碼邏輯調(diào)用IPaperService.java和PaperService.java類傳入?yún)?shù),將參數(shù)傳給PaperDao.java類,最后調(diào)用PaperMapper的映射文件里面id為show的方法里的SQL語句訪問paper數(shù)據(jù)庫表進(jìn)行對比,對比返回結(jié)果,將結(jié)果返回給前臺頁面對給教師查看。3、時序圖試卷管理模塊,包括試卷的查看試卷的增刪改查。例如試卷的添加首先需要添加試題,將試題插入到試卷中,增加一條新的試卷數(shù)據(jù)信息。試卷管理時序圖如圖4-7所示。圖4-7試卷管理時序圖4.2.4題庫管理模塊1、功能描述題庫管理與試卷生成的題庫管理[10]模塊是整個系統(tǒng)的重點(diǎn)功能模塊。題庫管理[11]能夠方便教師對各個科目不同的類型題進(jìn)行統(tǒng)一管理,這樣不僅能夠解決教師管理題庫的復(fù)雜的工作,而且還能夠大大節(jié)約教師的工作時間,提高教師的工作效率,增加經(jīng)濟(jì)效益。題庫是按照不同的學(xué)科進(jìn)行分類,這樣能夠解決試題存儲的數(shù)量大的問題,解決MySQL數(shù)據(jù)庫的單獨(dú)一張表的負(fù)載。教師可以進(jìn)行對自己管理的題庫里面的試題進(jìn)行增加、刪除、修改和查找,在查找時教師可以勾選一些選項可以快速的查找到自己想要的試題,大大節(jié)省教師查找試題的時間。以及業(yè)務(wù)拓展的后期數(shù)據(jù)庫拓展[14]。2、輸入項目查詢試題時,教師可以通過勾選章節(jié)、試題難易程度和試題類型篩選條件來查找試題。試題添加時,首先需要選擇你想要添加試題所對應(yīng)的題庫,選擇添加試題的類型,試題的初始難易程度,添加試題題目、試題描述詳情、答案等信息。選擇題有選項信息的填寫,編程題有樣本的輸入樣例和樣本的輸出樣例。然后點(diǎn)擊提交按鈕進(jìn)行提交。試題修改,首先需要選中你要修改的試題,點(diǎn)擊修改按鈕,系統(tǒng)會自動將本試題的原有信息帶入到試題修改頁面。填寫你將想要修改的內(nèi)容替換掉你想要修改的內(nèi)容信息。3、輸出項目查詢試題將以列表的形式返回所有符合條件的試題。4、程序算法教師登錄進(jìn)入本系統(tǒng),首先系統(tǒng)會根據(jù)這個教師的角色和權(quán)限,加載他自己對應(yīng)的導(dǎo)航欄。教師點(diǎn)擊左側(cè)導(dǎo)航的題庫管理,通過QuestionAction.java類里面的show()方法里面的代碼邏輯調(diào)用IQuestionService.java和QuestionService.java類傳入?yún)?shù),將參數(shù)傳給QuestionDao.java類,show()的方法里的SQL語句訪問Question數(shù)據(jù)庫表進(jìn)行對比,對比返回結(jié)果,將結(jié)果返回給前臺頁面對給教師查看,教師可以查看自己所管理的所有題庫。教師點(diǎn)擊具體題庫,通過QuestionAction.java類里面的flashAndShow()方法,根據(jù)用戶傳上來的科目參數(shù),使用業(yè)務(wù)邏輯代碼調(diào)用IQuestionService.java和QuestionService.java類傳入?yún)?shù),將參數(shù)傳給QuestionDao.java類,調(diào)用QuestionMapper.xml文件里面id為flashAndShow的方法里的SQL語句訪問Question_科目數(shù)據(jù)庫表進(jìn)行對比,對比返回結(jié)果List<Question>數(shù)據(jù)類型,將結(jié)果返回給前臺頁面對給教師查看。Question.jsp前臺頁面根據(jù)教師勾選的條件,使用Ajax技術(shù),將數(shù)據(jù)傳給后臺,后臺根據(jù)教師傳上來的數(shù)據(jù)信息去數(shù)據(jù)庫中獲取數(shù)據(jù),后臺再將數(shù)據(jù)傳給Question.jsp頁面。管理員有增加新題庫的功能。首先管理員通過登錄進(jìn)入到本系統(tǒng),選擇增加題庫功能,通過QuestionAction.java類里面的insert()方法,根據(jù)用戶傳上來的科目參數(shù),使用業(yè)務(wù)邏輯代碼調(diào)用IQuestionService.java和QuestionService.java類傳入?yún)?shù),將參數(shù)傳給QuestionDao.java類,最后調(diào)用QuestionMapper.xml文件里面id為insert的方法里的SQL語句訪問Question_科目數(shù)據(jù)庫表進(jìn)行增加操作,同時還會通過SubjectAction.java類insert()方法,根據(jù)用戶傳上來的科目參數(shù),使用業(yè)務(wù)邏輯代碼調(diào)用ISubjectService.java和SubjectService.java類傳入?yún)?shù),將參數(shù)傳給SubjectDao.java類,最后調(diào)用SubjectMapper.xml文件里面id為insert的方法里的SQL語句訪問Subject數(shù)據(jù)庫表進(jìn)行增加操作,增加成功之后頁面會跳轉(zhuǎn)回到管理員題庫管理里面,這時能夠看到以前的題庫和新增加的題庫。5、時序圖題庫管理模塊,通過調(diào)用QuestionAction類的insert()和addQuestion()方法完成題庫管理。如圖4-8所示。圖4-8題庫管理時序圖4.2.5組卷模塊1、功能描述組卷[12]模塊的設(shè)計是本系統(tǒng)的重要功能模塊,本系統(tǒng)采用手動組卷和自動組卷兩種組卷模式。手動組卷類似于傳統(tǒng)的出卷模式,但是還是方便了教師對試題的篩選流程。本功能模塊設(shè)計了大量的試題的篩選條件,讓教師能夠在短的時間內(nèi)找到自己想要的類型題。自動組卷又是組卷模塊的核心,自動組卷上的設(shè)計需要十分合理,不管是在難度上還是題型的分布上都應(yīng)當(dāng)盡可能合理。在分析對比幾種常用組卷算法的基礎(chǔ)上,該文設(shè)計了實數(shù)編碼遺傳算法實現(xiàn)組卷功能,通過實證驗證了基于實數(shù)編碼遺傳算法組卷模塊的有效性。2、輸入項目手動組卷教師需要填寫試卷名稱、試卷描述、科目,點(diǎn)擊下一步。自動組卷教師需要填寫試卷名稱、試卷描述、科目、試卷的難易程度,會根據(jù)所選的科目,篩選出來章節(jié)的勾選,點(diǎn)擊進(jìn)入下一步。3、輸出項目手

溫馨提示

  • 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

提交評論