許凌蔚
(合肥工業(yè)大學(xué)軟件學(xué)院,安徽合肥 230601)
基于大學(xué)生綜合測評1的評估2系統(tǒng)研發(fā)
許凌蔚
(合肥工業(yè)大學(xué)軟件學(xué)院,安徽合肥 230601)
本文基于國內(nèi)大多數(shù)高校的綜合測評規(guī)則進(jìn)行抽象、建模,從而設(shè)計并研發(fā)出一個B/S架構(gòu)的系統(tǒng),以滿足各大高校以及各類機(jī)構(gòu)組織的評估需要。
評估系統(tǒng) 測評 互評 自評
據(jù)調(diào)查,當(dāng)前國內(nèi)多數(shù)普通高校均會存在著一種評估方法——綜合測評,而學(xué)校學(xué)生測評的日常管理工作都是人工操作。然而,眾所周知,通過人工測評,會存在以下問題:
(1)由于數(shù)據(jù)量比較大,難以建立輸入合法性檢測機(jī)制
(2)人工操作大量的數(shù)據(jù),總會難以避免地出現(xiàn)統(tǒng)計失誤,評估的準(zhǔn)確率不能得到保障。
(3)紙質(zhì)版的數(shù)據(jù)難以保存,同時查找效率低下,容易遺失。
當(dāng)前時代是一個信息化的時代,可從綜合測評中抽取出處理邏輯,進(jìn)而搭建一個測評平臺,并基于該測評平臺,設(shè)計出一個通用的評估模型,以適用于各類型的機(jī)構(gòu)的評估工作。該種平臺存在以下優(yōu)點(diǎn):
(1)減輕評估管理人員以及被評估人員的負(fù)擔(dān),提升工作效率;
(2)維護(hù)簡便,同時可以確保輸入數(shù)據(jù)的合法性;
(3)便于后期對數(shù)據(jù)進(jìn)行維護(hù);
(4)能夠跨平臺進(jìn)行使用,可充分利用現(xiàn)有的設(shè)備,無需重復(fù)投資。
該系統(tǒng)需要適用于目前的大部分機(jī)構(gòu)、組織,能夠給予其足夠的自由度使其可以自由設(shè)置評估項目,包括項目類型(自評3、互評4、測評5),評估方式(等級評估、分?jǐn)?shù)評估)以及項目數(shù)量、項目從屬6,同時還要實(shí)現(xiàn)對參與評估的人員的管理,包括將相應(yīng)用戶加入到某個項目中,以及將相應(yīng)用戶從某個項目中刪除等等。
此外,該項目還能將評估結(jié)果導(dǎo)出、擁有友好的用戶界面以及有較優(yōu)的反應(yīng)時間。
表1
圖1
由于本系統(tǒng)的特殊要求,因此要把重點(diǎn)放在數(shù)據(jù)存儲上,其需要具有極高的靈活性。其模型設(shè)計如表1所示。
其中,“數(shù)據(jù)庫層”為最底層,用于存儲三種數(shù)據(jù),一種是評估項目數(shù)據(jù)的存儲(動態(tài)數(shù)據(jù)),另外一個是評估項目結(jié)構(gòu)的存儲(靜態(tài)數(shù)據(jù)),第三種是用戶信息的存儲。由于數(shù)據(jù)庫的高靈活性,必然會帶來數(shù)據(jù)庫的復(fù)雜性,而這種復(fù)雜性不僅是數(shù)據(jù)結(jié)構(gòu)上的,也是處理邏輯上的;而為了避免由于數(shù)據(jù)庫的復(fù)雜性所帶來的時間耗費(fèi),故使用“數(shù)據(jù)信息層”將數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)存為有用的信息,同時,該層也可以將上層傳來的數(shù)據(jù)逆向存儲到“數(shù)據(jù)庫層”中;在“信息服務(wù)層”中將整合其上層模型以及下層模型的各種信息,將其分類封裝后供“業(yè)務(wù)邏輯層”或者“數(shù)據(jù)信息層”根據(jù)不同的需求進(jìn)行調(diào)用;在“業(yè)務(wù)邏輯層”中,通過獲取“信息服務(wù)層”中的信息,按照業(yè)務(wù)邏輯的需要進(jìn)行分類組織篩選,將符合要求的信息輸送到“界面顯示層”,同時,將該層中接收到的信息傳入“信息服務(wù)層”中;而在“界面顯示層”中將業(yè)務(wù)邏輯層中的信息按照界面的對應(yīng)設(shè)置進(jìn)行輸出到屏幕上,同時也可以獲取用戶的輸入。
按照上述模型,結(jié)合本系統(tǒng)的實(shí)際情況考慮,基于MVC模式進(jìn)行系統(tǒng)架構(gòu)設(shè)計。MVC模式包括三個部分:模型(Model)、視圖(View)和控制器(Controller),分別對應(yīng)于內(nèi)部數(shù)據(jù)、數(shù)據(jù)表示和輸入輸出控制部分[1]。如圖1所示。
在本系統(tǒng)中,總共有3個模塊組成,分別是評估設(shè)計模塊,評估模塊以及人員管理模塊,其中三個模塊分別對應(yīng)三個視圖“評估設(shè)置視圖”、“評估視圖”、“人員管理視圖”,這三個視圖與系統(tǒng)建模中的“界面顯示層”相對應(yīng);而業(yè)務(wù)邏輯控制器則與系統(tǒng)建模中的“業(yè)務(wù)邏輯層”相對應(yīng);而“評估結(jié)構(gòu)模型”、“評估數(shù)據(jù)模型”以及“人員管理模型”則與系統(tǒng)建模中的“信息服務(wù)層”相對應(yīng),分別用以處理其對應(yīng)的三個視圖中的數(shù)據(jù);“信息存儲結(jié)構(gòu)”則對應(yīng)系統(tǒng)建模中的“數(shù)據(jù)信息層”,主要作用是將數(shù)據(jù)庫中的數(shù)據(jù)通過對應(yīng)的算法提取出來,形成有用的信息;“數(shù)據(jù)庫”對應(yīng)系統(tǒng)建模中的“數(shù)據(jù)庫層”,用以存儲全部的元數(shù)據(jù)。
不難發(fā)現(xiàn),本系統(tǒng)的關(guān)鍵點(diǎn)在于其可擴(kuò)展性,只有優(yōu)秀的可擴(kuò)展性才可以支持多種評估規(guī)則的設(shè)置。因此,本系統(tǒng)的數(shù)據(jù)庫設(shè)計是該系統(tǒng)的重中之重。數(shù)據(jù)庫的功能直接影響該系統(tǒng)的功能,而數(shù)據(jù)庫的性能則是其能否很好地執(zhí)行、響應(yīng)對應(yīng)功能的一個決定性因素。因此一個數(shù)據(jù)庫質(zhì)量的好壞直接就決定了該系統(tǒng)是否能夠完成既定目標(biāo),實(shí)現(xiàn)具體功能。
而眾所周知,當(dāng)期的主流數(shù)據(jù)庫是關(guān)系型數(shù)據(jù)庫,其表結(jié)構(gòu)中的數(shù)據(jù)是通過主鍵和索引進(jìn)行搜索和查找的,但是如果按照普通的數(shù)據(jù)庫的設(shè)計方法進(jìn)行設(shè)計,每當(dāng)修改評估設(shè)置的時候都需要修改數(shù)據(jù)庫中的表結(jié)構(gòu)(包括新增表、刪除表和修改表),這無疑給數(shù)據(jù)庫的性能造成很大的負(fù)擔(dān)。筆者專門對此進(jìn)行了實(shí)驗,實(shí)驗結(jié)果表明,對MySQL數(shù)據(jù)庫來說,這種對表結(jié)構(gòu)進(jìn)行修改的操作在并發(fā)性相對略高的情況下,就會導(dǎo)致較大的使用延遲,由此所帶來的用戶體驗也會相對較差。因此,通過對于多種存儲方式的研究后,筆者發(fā)現(xiàn),當(dāng)數(shù)據(jù)庫采用了類似C/C++中樹的儲存結(jié)構(gòu)時,所實(shí)現(xiàn)的靈活性是最高的,其功能與樹相似,可以自由地擴(kuò)展任意節(jié)點(diǎn),可以自由地添加子節(jié)點(diǎn)或者兄弟節(jié)點(diǎn),從而來適應(yīng)各種組織、機(jī)構(gòu)的評估規(guī)則,同時每個節(jié)點(diǎn)的構(gòu)成采用面向?qū)ο笾蓄惖乃枷搿H欢?,要使用這種方法進(jìn)行數(shù)據(jù)庫設(shè)計,則需要將數(shù)據(jù)庫每個節(jié)點(diǎn)的公有屬性抽象出來,專門放置在一個表中。經(jīng)過研究,本系統(tǒng)中的每個節(jié)點(diǎn)都包括六個屬性:第一個屬性是其該節(jié)點(diǎn)的唯一編號;第二個屬性是該節(jié)點(diǎn)的父節(jié)點(diǎn)編號;第三個屬性則是該節(jié)點(diǎn)對應(yīng)項目所占其父項節(jié)點(diǎn)對應(yīng)項目的分?jǐn)?shù)比例;第四個屬性是該節(jié)點(diǎn)對應(yīng)的項目所允許的最大參與人數(shù);第五個屬性是該節(jié)點(diǎn)對應(yīng)的項目所允許的最小參與人數(shù);第六個屬性則是該節(jié)點(diǎn)的類型,在本系統(tǒng)中需要的類型共有兩種:(1)分類項類型:即在節(jié)點(diǎn)下會有其他子節(jié)點(diǎn);(2)最終項類型:即該節(jié)點(diǎn)為子節(jié)點(diǎn),其下不存在子節(jié)點(diǎn),而對于等級評價,則是將其等級轉(zhuǎn)化為分?jǐn)?shù)存儲在該屬性中。而存儲在數(shù)據(jù)庫中的數(shù)據(jù),則根據(jù)需要通過深度優(yōu)先遍歷或者廣度優(yōu)先遍歷把需要的數(shù)據(jù)取出來,存儲到信息存儲結(jié)構(gòu)中即可很方便地對其進(jìn)行調(diào)用。除了儲存評估結(jié)構(gòu)外,還需要通過表來存儲評估結(jié)果和存儲人員的基本信息。此外,還需要通過javascript來實(shí)現(xiàn)生成Excel文件,由于該類功能的實(shí)現(xiàn)較為簡單,筆者故不在此一一敘述了。
注釋:
[1]大學(xué)生綜合測評:大學(xué)生相互為對方提供的評估.
[2]評估:根據(jù)自評結(jié)果、互評結(jié)果和測評結(jié)果按照權(quán)重相加得出的結(jié)果.
[3]自評:由自己對自己進(jìn)行評價(包括等級和分?jǐn)?shù))通過計算得出的成績.
[4]互評:由同級之間互相評價(包括等級和分?jǐn)?shù))的結(jié)果通過計算得出的成績.
[5]測評:由上級或者老師直接給出的評價(包括等級和分?jǐn)?shù))通過計算得出的成績.
[6]項目從屬:某個評估項目與其他評估項目的從屬關(guān)系,如某個父評估項目下還有子評估項目.
[1]任中方,張華,閆明松,等.MVC模式研究的綜述[J].計算機(jī)應(yīng)用研究,2004,21(10).