999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RestAPI的在線題庫組卷系統的開發

2021-01-12 16:25:46李常寶
數字通信世界 2021年12期
關鍵詞:數據庫用戶功能

李常寶

(山西警官職業學院,山西 太原 030027)

1 在線題庫組卷系統與傳統題庫組卷系統的優劣比較

當前,常用的傳統在線題庫組卷系統一般有三種模式:傳統Web系統,單機版系統,手工Excel操作。

傳統Web系統的安全性比較差,網址中,網頁中容易泄露一些試題敏感數據;單機版系統缺少網絡功能,對于不同地域的用戶來說,很不方便;手工Excel操作,人工操作容易出錯,而且安全性也不高。

綜合以上幾點,本文所開發的在線題庫組卷系統能夠有效解決上述問題。采用Rest標準格式的WebAPI能夠隱藏服務器資源路徑及參數,提高安全性;采用HUSH FrameWork[1],可以有效提高開發效率;采用B/S結構,可以充分發揮網絡的便捷性,不同地域的用戶也可以使用。隨機出題算法,也可以根據用戶需求,靈活調整與設置,保證公平與合理。

2 在線題庫組卷系統使用的關鍵技術

本論文所研究的在線題庫組卷系統是基于以下技術實現:

(1)基于Rest標準格式開發的一套WebAPI。 Rest是一套互聯網應用程序的API設計 規范。它的核心原則是將你的API拆分為邏輯上的資源。這些資源通過HTTP被操作(GET, POST, PUT, DELETE)。比 如:在本系統中,資源歸類為試題、用戶、課程等資源。各種操作歸類為GET, DELETE, ADD,MODIFY等操作。舉例:http://localhost:8001/ course/GetAllSt, http://localhost:8001/course/ DeleteStByNo/st001。

(2)前臺使用HTML+CSS+JQuery+Smarty3。HTML+CSS+JQuery+Smarty3是當前主流的Web應用程序前端開發套裝。HTML+CSS是網頁最基本的組成。jQuery是一個快速、簡潔的JavaScript框架,使用它可以加速開發進程。Smarty3是一個PHP模板引擎技術,它分離了邏輯代碼和外在的內容,提供了一種易于管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離,使用它,可以讓代碼更加簡潔,層次分明。

(3)后臺使用基于HUSH FrameWork的PHP框架。當前Web應用程序后端開發有很多流行的框架,而本人選取的是HUSH FrameWork[2],它是一個基于ZendFramework[3]和Smarty的強大的面向企業應用的PHP框架,是一個簡化版的ZendFramework,正好適用于中小型的Web應用程序。

(4)HTTP服務器使用XAMPP的Apache。XAMPP是一個基于Windows操作系統的后臺軟件工具集。其中的apache是用于網站發布的一個Web服務器軟件。

(5)數據庫服務器使用XAMPP的Mysql。本系統使用的后臺數據庫管理系統是mysql。

3 在線題庫組卷系統的三層架構設計

所謂三層軟件體系架構,就是在客戶端瀏覽器與服務器的數據庫之間加入了一個“中間層”,也叫組件層。這里所說的三層結構,不是指物理上機器上的三層,不是簡單地放置三臺計算機就是三層軟件體系架構,也不僅僅有瀏覽器才是三層軟件體系架構,三層是指邏輯的三層,即使這三層都放置到一臺機器上。

3.1 表現層

本系統的表現層主要由后臺管理和前臺管理兩部分網頁組成。其中,后臺表示層主要由六大菜單項組成:系統概況、試題管理、組卷管理、用戶管理、成績管理、智能閱卷。

3.2 業務邏輯層

主要是處理業務方面的邏輯,如判斷用戶輸入的內容是否符合要求,負責把用戶輸入的數據傳輸給數據訪問層,并把來自數據訪問層的數據返回給用戶。其中:

(1)系統概況:由系統模塊SystemService.php提供本系統的各項基本參數的設定。

(2)試題管理:由系統模塊ShitiService.pph提供對本系統中試題的增刪改查功能的設定。

(3)組卷管理:由試題模塊StService.php提供本系統試題導入,組卷方式的設置、組卷、導出為word文檔等功能。

(4)用戶管理:由系統模塊UserService.pph提供對本系統中各種角色用戶的增刪改查的操作以及權限的設定。

(5)成績管理:由系統模塊ScoreService.pph提供對本系統中用戶成績的操作。

(6)智能閱卷:由系統模塊StaticService.pph提供對本系統中考生成績的統計與分析操作。

3.3 數據訪問層

主要是對原始數據的操作層,只有它能夠直接訪問數據庫,對數據庫進行增、刪、改、查的操作,上面的兩個層(表現 層和邏輯層)都不能直接訪問數據庫。數據訪問層主要使用的是HUSH FrameWork中的數據庫操作類庫和XAMPP中的mysql數據庫。

4 在線題庫組卷系統的主要功能模塊的實現

4.1 系統概況模塊的功能

4.1.1 試題統計

主要是將本系統中各種類型、各種難度、各種模塊的試題進行統計。

具體實現步驟如下:

(1)數據訪問層:試題本身存在類型、難度、模塊的區別,在數據庫中相應地創建對應的數據表,而在試題表中,每道試題都有對應的外鍵進行管理。

(2)邏輯層:在stService.php中創建getStNu mberB ByType(),getStNumberBydifficult(),getStN umberByModule()方法相應地統計類型,難度和 模塊的試題數量。

(3)表現層:創建sysinfo.html頁面,在這個頁面里,使用圖表的方式顯示數據,這樣更加直觀。

4.2 用戶管理模塊的功能

4.2.1 用戶注冊

新增用戶的功能,具體實現步驟如下:

(1)在本系統的數據訪問層中,也就是數據庫EXAM中,創建用戶表user。

(2)在本系統的邏輯層,新建針對用戶表user的操作類userService.php。并在其中創建AddNewUser Action(),實現新增用戶的功能,要求用戶輸入2次密碼,并保持一致,而且要MD5加密后保存在數據表中。

(3)在本系統的表現層,新建registry.html,提供面向用戶的圖形界面接口,用于注冊新用戶。

4.2.2 用戶登錄

實現用戶登錄系統的功能。具體實現步驟如下:

(1)在本系統的數據訪問層中,已經創建了用戶表user,要求其中有示例數據。

(2)在本系統的邏輯層,在userService.php中創建LoginAction(),將用戶輸入的用戶名和密碼與數據表中的用戶逐個對比,如果有相同的,則正常登錄系統;如果沒有相同的,則提示用戶名或者密碼有誤。

(3)在本系統的表現層,新建login.html,提供面向用戶的圖形界面接口,用于實現用戶登錄。

4.2.3 用戶查詢

實現根據用戶名查詢用戶的功能。

具體實現步驟如下:

(1)在本系統的數據訪問層中,已經創建了用戶表user,要求其中有示例數據。

(2)在本系統的邏輯層中,在userService.php中創建SearchUserByNameAction(),將用戶輸入的用戶名和數據表中的用戶逐個對比,如果有相同的,則將該用戶信息顯示到網頁中;如果沒有相同的,則提示無此用戶。

(3)在本系統的表現層,新建searchUserBy Name.html,提供面向用戶的圖形界面接口,用于實現用戶查找。

4.2.4 用戶刪除

實現根據用戶名刪除用戶的功能。

具體實現步驟如下:

(1)在本系統的數據訪問層中,已經創建了用戶表user,要求其中有示例數據。

(2)在本系統的邏輯層,在userService.php 中創建DeleteUserByNameAction(),將用戶輸入的用戶名和數據表中的用戶逐個對比,如果有相同的,則將該用戶從數據表中刪除,并將刪除成功的提示信息顯示到網頁中;如果沒有相同的,則提示無此用戶。

(3)在本系統的表現層,新建deleteUserBy Name.html,提供面向用戶的圖形界面接口,用于實現用戶刪除。

4.3 組卷管理模塊的功能

4.3.1 試題導入

主要是將用戶提供的Excel模板的題庫導入到本系統的mysql數據庫中。

具體實現步驟如下:

(1)在本系統的mysql數據庫中創建數據庫EXAM,創建試題表st、課程表course、系統信息表sysinfo、試卷表exampaper。

(2)在本系統的邏輯層,新建針對試題庫的數據庫操作類stService.php。并在其中使用PHPExcel 類庫,創建導入試題的方法importStFromExcel()。

(3)在表現層,創建inport_excel_exam.html 文件,讓用戶瀏覽資源管理器,找到excel格式的試題庫,實現導入。

4.3.2 組卷設置

主要是將用戶提供的組卷方式提供可視化的網頁操作界面,方便用戶設置。

具體操作步驟如下:

在表現層新建網頁exam_setting.html,創建設置所需的控件。

在邏輯層的stService.php中增加組卷設置方法exampaperAction.php。

在表現層創建exam.html,設置組卷規則,讓用戶根據需求選擇。

4.3.3 生成和導出試卷

主要是根據組卷方式生成統一格式的Word試卷,方便用戶打印。

具體操作步驟如下:

(1)在網站相應的文件夾內,設計一個統一格式的Word試卷模板,在相應試卷的試題位置設置 PHP替換變量。

(2)在邏輯層的stService.php中增加試卷生成方法outputWord.php,實現試題獲取,組卷,導入模板,生成試卷的功能。

(3)在表現層,創建output_word_exam.html 文件,實現導出功能,直接將Word格式的試卷,從服務器端下載到瀏覽器設定的目錄位置。

4.4 在線考試模塊的功能

4.4.1 在線考試

主要是根據用戶的在線考試需求,生成相應的在線考試試卷,并允許考生考試。

具體實現步驟如下:

(1)在本系統的數據訪問層中,已經創建了試卷表exampater,其中存放用戶生成的在線考試試卷。

(2)在本系統的邏輯層,新建針對試卷表的數據庫操作類examonlineService.php。該類的主要功能根據用戶在表現層的需求,隨機抽取試題,并生成在線試卷。

(3)在表現層,創建exam_online.html文件,根據用戶輸入的考試名稱,考試時間及試題,生成頁面,并要求考生逐題回答。

4.4.2 成績統計

主要是根據用戶的在線考試情況,統計成績。

具體實現步驟如下:

(1)在本系統的數據訪問層中,創建試卷成績表score,用于存放考生的試卷成績。

(2)在本系統的邏輯層,新建針對成績表的數據庫操作類scoreService.php。該類的主要功能根據用戶在線考試情況,計算成績。

(3)在表現層,創建score.html文件,輸出用戶的成績。

5 下一步的改進

在線題庫組卷系統的設計流程和實現方法及框架還有幾點需要改進。

(1)智能閱卷功能仍然不夠強大,對試題的分析仍然僅限于簡單的計數。下一步,需要增加圖形化的統計與分析功能。

(2)試卷的出題策略,還有待于進一步完善。

猜你喜歡
數據庫用戶功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
關于非首都功能疏解的幾點思考
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 国产人碰人摸人爱免费视频| 动漫精品中文字幕无码| 欧美日韩高清在线| 一级爆乳无码av| 韩日无码在线不卡| 女人天堂av免费| 亚洲一区二区无码视频| 无码AV高清毛片中国一级毛片| 最新亚洲人成网站在线观看| 国产成人91精品免费网址在线 | 狼友视频国产精品首页| 狠狠五月天中文字幕| 久久香蕉国产线| 天堂成人在线视频| 国产亚洲视频免费播放| 蝴蝶伊人久久中文娱乐网| 精品一区二区三区无码视频无码| 日韩久草视频| 97人妻精品专区久久久久| 国产精品久久久久久影院| 国产成人精品一区二区三区| 亚洲熟妇AV日韩熟妇在线| 91国语视频| 亚洲欧美日韩成人在线| 亚洲色图欧美在线| 五月婷婷丁香色| 欧美精品不卡| 亚洲精品日产精品乱码不卡| 亚洲福利视频一区二区| 色婷婷在线播放| swag国产精品| 91最新精品视频发布页| 毛片网站在线看| 五月激激激综合网色播免费| 亚洲精品国产综合99| 五月六月伊人狠狠丁香网| 亚洲一区二区成人| 色婷婷电影网| av一区二区人妻无码| 国产自在自线午夜精品视频| 亚洲精品va| 国产精品久久久免费视频| 国产免费羞羞视频| 欧美无专区| 久久久久国色AV免费观看性色| 九月婷婷亚洲综合在线| 免费女人18毛片a级毛片视频| 国产精品区视频中文字幕| 亚洲一区二区三区在线视频| 国产亚洲视频免费播放| 亚洲精品国产精品乱码不卞| 国产一线在线| 人妻无码中文字幕第一区| 国产精品性| 国产福利在线免费| 国产激情无码一区二区APP| 国产精品久久久久久久久| 免费无码又爽又黄又刺激网站| 色偷偷一区| 看国产一级毛片| 无套av在线| 久久国产亚洲偷自| 国产三级国产精品国产普男人 | 日韩午夜片| 国产精品女在线观看| 99re在线视频观看| 久久福利网| 免费国产不卡午夜福在线观看| 国产一区二区色淫影院| 国产欧美日韩综合在线第一| 午夜福利网址| 日本91视频| 91精品视频播放| 国产一区在线视频观看| 鲁鲁鲁爽爽爽在线视频观看 | 国产精品lululu在线观看| 国产99精品久久| 丁香综合在线| a亚洲视频| 日本精品视频一区二区| 毛片久久网站小视频| 国产精品女同一区三区五区|