張星
【摘 要】隨著計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù)的普及,傳統(tǒng)紙質(zhì)考試相比于在線考試有許多缺點(diǎn),比如:工作量大,周期長(zhǎng),不精確,成本較高?;贛VC (Model View Controller)三層架構(gòu), 用php和mysql技術(shù)開發(fā)一套在線考試系統(tǒng)。該系統(tǒng)能有效克服紙質(zhì)考試的弊端,使得新生能夠更快更高效地使用圖書館的資源。
【關(guān)鍵詞】圖書館;入館考試系統(tǒng);php;mysql
中圖分類號(hào): G258.6 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2018)18-0027-002
DOI:10.19694/j.cnki.issn2095-2457.2018.18.011
【Abstract】With the popularity of computer and Internet technology, the traditional paper examination has many disadvantages compared with online examination, such as: heavy workload, long cycle, inaccuracy and high cost. Based on MVC (Model View Controller), an online examination system is developed by using PHP and MySQL technology. The system can effectively overcome the disadvantages of paper examination and enable freshmen to use library resources more quickly and efficiently.
【Key words】Library;Entrance Examination System;PHP;Mysql
0 前言
為了讓新生盡快熟悉圖書館的規(guī)章制度,更高效地使用圖書館的資源,圖書館必須對(duì)新生進(jìn)行培訓(xùn)。在線自學(xué)和在線考試的方式開展新生入館教育,新生可以從交完卷的正確答案中學(xué)習(xí)。新生考試成績(jī)合格后方可開通校園卡的圖書借閱權(quán)限。相比于傳統(tǒng)紙質(zhì)考試需要的大量人力和物力,在線考試系統(tǒng)的無紙化可以節(jié)省考試的費(fèi)用以及閱卷的人力[1-5]。
基于這種現(xiàn)狀,筆者基于MVC架構(gòu)采用php和mysql開發(fā)了一個(gè)新生入館考試系統(tǒng)后臺(tái),并分析和探討了該系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。
1 系統(tǒng)框架
MVC是一種架構(gòu)設(shè)計(jì)模式,是一種設(shè)計(jì)理念。是為了達(dá)到分層設(shè)計(jì)的目的,從而使代碼解耦,便于維護(hù)和代碼的復(fù)用。MVC是3個(gè)單詞的縮寫,全稱:Model-View-Controller(模型-視圖-控制器)。
一個(gè)典型的Web MVC流程:
(1)Controller收到用戶發(fā)出的請(qǐng)求;
(2)Controller調(diào)用Model完成狀態(tài)的讀寫操作;
(3)Controller把數(shù)據(jù)傳遞給View;
(4)View渲染最終結(jié)果并呈獻(xiàn)給用戶。
2 系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)模塊設(shè)計(jì)
根據(jù)考試系統(tǒng)的需求,將整個(gè)系統(tǒng)劃分為考題管理,學(xué)生管理以及成績(jī)概覽三個(gè)模塊。考題管理和學(xué)生管理模塊主要是分別完成了對(duì)考題和學(xué)生的增加,修改以及刪除操作。而成績(jī)概覽則是完成了按照班級(jí)劃分的平均分柱狀圖展示,以及成績(jī)分布的餅狀圖展示。其整體的模塊設(shè)計(jì)如圖1所示。
2.2 系統(tǒng)工作流程
對(duì)于整個(gè)系統(tǒng)而言,考試模塊和后臺(tái)模塊是獨(dú)立的。通過登錄頁面登錄時(shí),根據(jù)學(xué)(工)號(hào)判斷用戶角色,從而進(jìn)入到考試模塊(角色是學(xué)生)或者后臺(tái)管理頁面(角色是老師)。本篇文章著重討論后臺(tái)管理模塊,后臺(tái)管理的流程如圖2所示。
3 系統(tǒng)主要技術(shù)實(shí)現(xiàn)
3.1 數(shù)據(jù)庫(kù)配置
將數(shù)據(jù)庫(kù)的一些信息單獨(dú)寫到一個(gè)特定文件中,這樣做的好處是巨大的。比如,當(dāng)數(shù)據(jù)庫(kù)發(fā)生變動(dòng),修改整個(gè)程序變得高效,而不用再去想再去找。還有當(dāng)修改數(shù)據(jù)庫(kù)的一些信息不必重啟服務(wù)器了,提高整個(gè)系統(tǒng)的穩(wěn)定性。本系統(tǒng)中,使用全局?jǐn)?shù)組$_CFG保存數(shù)據(jù)庫(kù)的配置信息。具體代碼如下:
3.2 日志記錄
建立一個(gè)日志類對(duì)整個(gè)系統(tǒng)開發(fā)都有很重要的作用。本系統(tǒng)都要用到大量的數(shù)據(jù)庫(kù)讀寫操作,而在寫sql語句的時(shí)候,很容易寫錯(cuò),導(dǎo)致程序無法運(yùn)行。而在進(jìn)行數(shù)據(jù)庫(kù)操作的時(shí)候,調(diào)用日志類中的寫日志方法,就能方便地將數(shù)據(jù)庫(kù)讀寫操作保存到后臺(tái)。一旦程序發(fā)生錯(cuò)誤,可以從后臺(tái)中找到sql語句錯(cuò)誤。
3.3 數(shù)據(jù)庫(kù)操作類
將數(shù)據(jù)庫(kù)的增加,刪除,修改以及查詢等操作封裝到一個(gè)類里,使得代碼緊緊有條,而且有利于代碼的擴(kuò)展。
3.4 Model層
在根目錄下創(chuàng)建一個(gè)文件夾并命名為Model。該文件夾下創(chuàng)建一個(gè)父類Model.class.php,該類通過調(diào)用數(shù)據(jù)庫(kù)操作類的方法完成對(duì)數(shù)據(jù)庫(kù)的增刪改查操作。通過繼承,各個(gè)子model可以控制對(duì)應(yīng)的表,如考題表,用戶表,成績(jī)表等。而且各個(gè)model可以增加各自個(gè)性化的方法。
3.5 Controller層
通過model層對(duì)某個(gè)表的操作,獲取到數(shù)據(jù)展示到相應(yīng)view層。
3.6 View層
通過html,css以及JavaScript,設(shè)計(jì)出后臺(tái)的網(wǎng)頁。
4 結(jié)束語
本文利用php和mysql技術(shù)設(shè)計(jì)了一個(gè)基于MVC架構(gòu)的在線考試系統(tǒng)后臺(tái)。該系統(tǒng)能讓新生更好地利用好圖書館服務(wù),實(shí)現(xiàn)了考題管理,用戶管理,成績(jī)概覽等功能。實(shí)踐結(jié)果表明,該系統(tǒng)穩(wěn)定,使用方便。
【參考文獻(xiàn)】
[1]王建.基于Web的在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2014,13(1):70-71.
[2]張怡寧.基于B/S結(jié)構(gòu)的大學(xué)英語考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2016,24(16):25-27.
[3]陳作新,王玉香.遼寧科技大學(xué)圖書館新生入館考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].中華醫(yī)學(xué)圖書情報(bào)雜志,2017,26(11): 76-80.
[4]張玲.基于Web數(shù)據(jù)庫(kù)在線考試系統(tǒng)的設(shè)計(jì)研討探討 [J].自動(dòng)化與儀器儀表,2016(5):120-121.
[5]田麗華,孫穎馨,王金甫.Spring框架下的IoC容器的在線考試系統(tǒng)設(shè)計(jì)[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2015,29(1):82-84,90.