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

?

基于SSM的臨床醫(yī)師模擬考試軟件設(shè)計(jì)開發(fā)

2022-12-14 00:42張翔
新型工業(yè)化 2022年2期

張翔

(景德鎮(zhèn)學(xué)院,江西 景德鎮(zhèn) 333000)

0 引言

無紙化、信息化考試方法值得被使用,本課題針對(duì)執(zhí)業(yè)醫(yī)師學(xué)習(xí)測(cè)試提供了一定的解決方法[1]。該系統(tǒng)可以便捷地實(shí)現(xiàn)學(xué)生成績(jī)管理,方便教師工作,避免了傳統(tǒng)考試管理效率低、可維護(hù)性不高的缺點(diǎn)。同時(shí)針對(duì)執(zhí)業(yè)醫(yī)師考試采用針對(duì)化題庫,以滿足執(zhí)業(yè)醫(yī)師考生的大部分需求,使得軟件更加實(shí)用。本系統(tǒng)將考試核心功能放置在高性能的云服務(wù)器上,將不需要占用太多資源的登錄注冊(cè)、修改密碼、數(shù)據(jù)管理等功能放置在本地電腦上,以達(dá)到提高軟件響應(yīng)速度和運(yùn)行效率的目的。

1 需求及功能分析

當(dāng)前無紙化考試快速發(fā)展,信息化、無紙化考試方式是大勢(shì)所趨[2]。本設(shè)計(jì)針對(duì)于醫(yī)考生實(shí)際考試流程和實(shí)際需求作出專項(xiàng)功能設(shè)計(jì),設(shè)計(jì)整個(gè)軟件的基本流程,結(jié)合實(shí)際需求進(jìn)行開發(fā)。

實(shí)現(xiàn)后的軟件權(quán)限分為超級(jí)管理員、管理員和普通用戶三個(gè)模塊,超級(jí)管理員負(fù)責(zé)對(duì)管理員信息、學(xué)院信息、試題類型信息等基本信息進(jìn)行管理;管理員對(duì)試題信息、試卷信息、普通用戶信息進(jìn)行管理;普通用戶則可以使用軟件基本功能即模擬考試、考試歷史查詢等功能。

2 軟件框架

基于SSM的臨床醫(yī)師模擬考試軟件使用SSM框架進(jìn)行開發(fā)。這一框架是近年來比較流行的Java技術(shù)框架,SSM框架則是非常流行的JavaEE企業(yè)級(jí)框架[3]。本方案就是以SSM框架搭建后端管理界面,然后集成layui+shiro,這兩個(gè)技術(shù)是比較流行的技術(shù),使用方便快捷。其優(yōu)點(diǎn)是開發(fā)效率高、運(yùn)行速度快、軟件負(fù)載高、開發(fā)成本低[4]。

3 layui技術(shù)簡(jiǎn)介

layui 是一款采用自身模塊規(guī)范編寫的前端 UI 框架,遵循原生 HTML/CSS/JS 的書寫與組織形式,門檻極低,拿來即用。其外在極簡(jiǎn),卻又不失飽滿的內(nèi)在,體積輕盈,組件豐盈,從核心代碼到 API 的每一處細(xì)節(jié)都經(jīng)過精心雕琢,非常適合界面的快速開發(fā)。

由國(guó)人開發(fā)于2016年出廠的框架,其主要提供了很多好看、方便的樣式,并且基本拿來即用,和Bootstrap有些相似,但該框架有個(gè)極大的好處就是定義了很多前后端交互的樣式接口,如分頁表格,只需在前端配置好接口,后端則按照定義好的接口規(guī)則返回?cái)?shù)據(jù),即可完成頁面的展示,極大地減少了后端人員的開發(fā)成本。

3.1 layui的特點(diǎn)

layui屬于輕量級(jí)框架,簡(jiǎn)單美觀;適用于開發(fā)后端模式,它在服務(wù)端頁面上有非常好的效果;layui是提供給后端開發(fā)人員的UI框架,基于DOM驅(qū)動(dòng)。

3.2 目錄結(jié)構(gòu)

├─css // css目錄

│ │─modules // 模塊css目錄(一般如果模塊相對(duì)較大,我們會(huì)單獨(dú)提取,比如下面三個(gè):)

│ │ ├─laydate

│ │ ├─layer │ │ └─layim

│ └─layui.css // 核心樣式文件

├─font // 字體圖標(biāo)目錄

├─images // 圖片資源目錄(目前只有l(wèi)ayim和編輯器用到的GIF表情)

│─lay // 模塊核心目錄

│ └─modules // 各模塊組件

│─layui.js // 基礎(chǔ)核心庫

└─layui.all.js // 包含layui.js和所有模塊的合并文件

3.3 基本頁面

<!--開始使用layui -->

<link rel="stylesheet" href="layui/css/layui.css">

<!-- 你的HTML代碼 -->

<script src="layui/layui.js"></script>

<script>

// 模塊和回調(diào)函數(shù)

// 一般直接寫在一個(gè)js文件中

layui.use(['layer', 'form'], function(){

var layer = layui.layer

,form = layui.form;

layer.msg('Hello World');

});

</script>

3.4 頁面元素

布局:將柵格放入一個(gè)帶有class=“l(fā)ayuicontainer”的特定的容器中,以便在小屏幕以上的設(shè)備中固定寬度,讓列可控;可以不固定容器寬度。將柵格或其他元素放入一個(gè)帶有class=“l(fā)ayui-fluid”的容器中,那么寬度將不會(huì)固定,而是100%適應(yīng)。

3.5 柵格系統(tǒng)

為了豐富網(wǎng)頁布局,簡(jiǎn)化 HTML/CSS 代碼的耦合,并提升多終端的適配能力,layui 引進(jìn)了一套具備響應(yīng)式能力的柵格系統(tǒng)。將容器進(jìn)行了12等分,預(yù)設(shè)了4*12種CSS排列類,它們?cè)谝苿?dòng)設(shè)備、平板、桌面中/大尺寸四種不同的屏幕下發(fā)揮著各自的作用。

3.6 導(dǎo)航主題

通過對(duì)導(dǎo)航追加CSS背景類,讓導(dǎo)航呈現(xiàn)不同的主題色;導(dǎo)航菜單可應(yīng)用于頭部和側(cè)邊,支持響應(yīng)式,支持刪除選項(xiàng)卡等功能,依賴加載模塊。實(shí)現(xiàn)步驟:①引入的資源;②依賴加載模塊;③加載HTML。

4 Shiro框架簡(jiǎn)介

Apache Shiro是Java的一個(gè)安全框架。它為開發(fā)人員提供一個(gè)直觀而全面的認(rèn)證、授權(quán)、加密及會(huì)話管理的解決方案。Shiro的主要功能是管理應(yīng)用程序中與安全相關(guān)的全部,同時(shí)盡可能支持多種實(shí)現(xiàn)方法。Shiro是建立在完善的接口驅(qū)動(dòng)設(shè)計(jì)和面向?qū)ο笤瓌t之上的,支持各種自定義行為。Shiro提供的默認(rèn)實(shí)現(xiàn),使其能完成與其他安全框架同樣的功能。

Shiro功能在驗(yàn)證用戶身份時(shí)有如下:用戶訪問控制,比如用戶是否被賦予了某個(gè)角色,是否允許訪問某些資源;任何環(huán)境都可以使用Session API,即使不是WEB項(xiàng)目或沒有EJB容器;事件響應(yīng),可在身份驗(yàn)證、訪問控制期間或是session生命周期中;多種用戶信息數(shù)據(jù)源;SSO-單點(diǎn)登陸;Remember Me,記住我。Shiro嘗試在任何應(yīng)用環(huán)境下實(shí)現(xiàn)這些功能,而不依賴其他框架、容器或應(yīng)用服務(wù)器。

Shiro可以非常容易地開發(fā)出足夠好的應(yīng)用,其不僅可以用在JavaSE環(huán)境,也可以用在JavaEE環(huán)境。Shiro可以幫助我們完成認(rèn)證、授權(quán)、加密、會(huì)話管理、與Web集成、緩存等。四大基石包括身份驗(yàn)證、授權(quán)、會(huì)話管理、加密。①Authentication:身份認(rèn)證/登錄,驗(yàn)證用戶是不是擁有相應(yīng)的身份;②Authorization:授權(quán),即權(quán)限驗(yàn)證,驗(yàn)證某個(gè)已認(rèn)證的用戶是否擁有某個(gè)權(quán)限,即判斷用戶是否能做事情,常見的如驗(yàn)證某個(gè)用戶是否擁有某個(gè)角色或者細(xì)粒度地驗(yàn)證某個(gè)用戶對(duì)某個(gè)資源是否具有某個(gè)權(quán)限;③Session Manager:會(huì)話管理,即用戶登錄后就是一次會(huì)話,在沒有退出之前,它的所有信息都在會(huì)話中;會(huì)話可以是普通JavaSE環(huán)境的,也可以是如Web環(huán)境的;④Cryptography:加密,保護(hù)數(shù)據(jù)的安全性,如采用密碼加密存儲(chǔ)到數(shù)據(jù)庫,而不是明文存儲(chǔ)。

5 總體功能設(shè)計(jì)

本方案初步目標(biāo)是實(shí)現(xiàn)一個(gè)具有考試功能的軟件,設(shè)置三個(gè)角色:超級(jí)管理員、管理員、用戶,除了實(shí)現(xiàn)最基本的功能外,還在其中加入了其他一些功能。

超級(jí)管理員功能主要有:①登錄注銷功能;②權(quán)限管理功能;③題庫管理功能;④試卷管理功能;⑤用戶管理功能;⑥歷史考試記錄管理功能;⑦修改密碼功能;⑧發(fā)布公告功能。

管理員功能主要有:①登錄注銷功能;②試卷管理功能;③用戶管理功能;④歷史考試記錄管理功能;⑤修改密碼功能;⑥發(fā)布公告功能。

用戶功能主要有:①考試功能;②錯(cuò)題查看功能。

6 軟件功能實(shí)現(xiàn)與測(cè)試

6.1 用戶登錄和注冊(cè)模塊實(shí)現(xiàn)

本設(shè)計(jì)使用Shiro框架實(shí)現(xiàn)登錄模塊的實(shí)現(xiàn),用戶在登錄框中輸入用戶名、密碼和驗(yàn)證碼點(diǎn)擊登錄,驗(yàn)證碼功能使用JS實(shí)現(xiàn),采用前端攔截的措施,使用正則表達(dá)式進(jìn)行用戶名和密碼的格式限制,以使驗(yàn)證碼無誤。前端通過AJAX方式使用post請(qǐng)求向后端傳輸?shù)卿浶畔?,后端的登錄?yàn)證則是由Shiro框架實(shí)現(xiàn)的。

后端取到用戶名和密碼,執(zhí)行登錄驗(yàn)證。首先數(shù)據(jù)庫中讀取對(duì)應(yīng)的賬號(hào)密碼,如果不存在該用戶的賬號(hào)則返回空值,如果存在則會(huì)對(duì)讀取該用戶信息;然后對(duì)密碼進(jìn)行驗(yàn)證,不管是否成功都返回一個(gè)值,該值含有登錄驗(yàn)證成功與否的信息;最后,使用控制器類對(duì)其進(jìn)行判斷是否可以進(jìn)行登錄跳轉(zhuǎn)或者返回登錄界面。

6.2 考試題庫管理模塊實(shí)現(xiàn)

題庫管理使用layui前端框架進(jìn)行頁面的渲染,從后端讀取數(shù)據(jù)并在前端顯示。其中增加試題按鈕是一個(gè)彈窗按鈕,使用彈窗按鈕后會(huì)出現(xiàn)一個(gè)彈窗,填入試題信息即可增加試題。其中的文件提交按鈕為單獨(dú)的一個(gè)表單,使用該按鈕可以提交試題所需的圖片。文件提交完成后會(huì)自動(dòng)在上面增加試題信息的表單中填入文件的路徑信息。頁面中的題號(hào)組卷功能是從題庫中隨機(jī)抽取100~600道試題實(shí)現(xiàn)隨機(jī)組卷的功能,管理員也可以自己選擇想要的題目,不需要選足對(duì)應(yīng)的題目數(shù)量,軟件判斷試題數(shù)量自動(dòng)補(bǔ)全試題,然后再組合成對(duì)應(yīng)試卷[5]。

6.3 試卷管理模塊實(shí)現(xiàn)

試卷管理模塊由layui渲染完成。其中隨機(jī)生成按鈕和試題管理中的題號(hào)組卷功能類似,無需指定題目,直接可以生成對(duì)應(yīng)試卷。

6.4 用戶管理模塊實(shí)現(xiàn)

本模塊采用的數(shù)據(jù)全部都是隨機(jī)生成的,增加用戶按鈕和編輯按鈕使用同一個(gè)方法實(shí)現(xiàn),采用動(dòng)態(tài)的方式獲取數(shù)據(jù),通過Ajax的方式進(jìn)行前后端數(shù)據(jù)傳輸,動(dòng)態(tài)獲取下拉框數(shù)據(jù)。

7 結(jié)語

至此,本設(shè)計(jì)的功能基本完善,普通用戶和管理員用戶的功能也基本完善。本設(shè)計(jì)使用的SSM框架,相較于之前開發(fā)過的軟件便捷了許多,軟件功能也相對(duì)完善。該軟件在軟件設(shè)計(jì)之初還有許多不完善的地方,但經(jīng)過實(shí)際開發(fā)的考驗(yàn),軟件的完善程度也隨之提高。在開發(fā)過程中遇到的難點(diǎn)重點(diǎn)也是非常多的。例如:(1)前期layui框架和SSM使用的默認(rèn)模板引擎的資源沖突問題,這會(huì)導(dǎo)致前端頁面顯示時(shí)出現(xiàn)顯示錯(cuò)誤的問題,使用靜態(tài)資源過濾解決了這個(gè)問題。然后是顯示的渲染問題,由于使用動(dòng)態(tài)的渲染,導(dǎo)致使用編輯信息的功能時(shí)會(huì)使后端獲取的數(shù)據(jù)無法顯示或者顯示不完全,解決方法是在渲染表格和彈窗時(shí)添加數(shù)據(jù),然后等所有數(shù)據(jù)加載完成后,重載表格和彈窗。(2)文件上傳功能也是重難點(diǎn)之一,復(fù)雜文件的上傳是在同一頁面上使用兩個(gè)并行的表單上傳文件,并返回對(duì)應(yīng)路徑。其中遇到的問題是使用Ajax方式上傳文件會(huì)遇到文件上傳失敗或者文件獲取不到的問題,解決方法就是使用Ajax時(shí)嚴(yán)格限制上傳格式,并且在后端獲取時(shí)使用復(fù)雜文件對(duì)象接收,使用IO流的形式將文件存放到磁盤固定的位置。

本設(shè)計(jì)的創(chuàng)新點(diǎn)有:(1)使用文件上傳功能,使題庫豐富且多樣化;(2)使用前端框架layui搭建后端管理模塊,頁面美觀、響應(yīng)速度快。