許凌蔚
(合肥工業大學軟件學院,安徽合肥 230601)
基于大學生綜合測評1的評估2系統研發
許凌蔚
(合肥工業大學軟件學院,安徽合肥 230601)
本文基于國內大多數高校的綜合測評規則進行抽象、建模,從而設計并研發出一個B/S架構的系統,以滿足各大高校以及各類機構組織的評估需要。
評估系統 測評 互評 自評
據調查,當前國內多數普通高校均會存在著一種評估方法——綜合測評,而學校學生測評的日常管理工作都是人工操作。然而,眾所周知,通過人工測評,會存在以下問題:
(1)由于數據量比較大,難以建立輸入合法性檢測機制
(2)人工操作大量的數據,總會難以避免地出現統計失誤,評估的準確率不能得到保障。
(3)紙質版的數據難以保存,同時查找效率低下,容易遺失。
當前時代是一個信息化的時代,可從綜合測評中抽取出處理邏輯,進而搭建一個測評平臺,并基于該測評平臺,設計出一個通用的評估模型,以適用于各類型的機構的評估工作。該種平臺存在以下優點:
(1)減輕評估管理人員以及被評估人員的負擔,提升工作效率;
(2)維護簡便,同時可以確保輸入數據的合法性;
(3)便于后期對數據進行維護;
(4)能夠跨平臺進行使用,可充分利用現有的設備,無需重復投資。
該系統需要適用于目前的大部分機構、組織,能夠給予其足夠的自由度使其可以自由設置評估項目,包括項目類型(自評3、互評4、測評5),評估方式(等級評估、分數評估)以及項目數量、項目從屬6,同時還要實現對參與評估的人員的管理,包括將相應用戶加入到某個項目中,以及將相應用戶從某個項目中刪除等等。
此外,該項目還能將評估結果導出、擁有友好的用戶界面以及有較優的反應時間。

表1

圖1
由于本系統的特殊要求,因此要把重點放在數據存儲上,其需要具有極高的靈活性。其模型設計如表1所示。
其中,“數據庫層”為最底層,用于存儲三種數據,一種是評估項目數據的存儲(動態數據),另外一個是評估項目結構的存儲(靜態數據),第三種是用戶信息的存儲。由于數據庫的高靈活性,必然會帶來數據庫的復雜性,而這種復雜性不僅是數據結構上的,也是處理邏輯上的;而為了避免由于數據庫的復雜性所帶來的時間耗費,故使用“數據信息層”將數據庫中的數據轉存為有用的信息,同時,該層也可以將上層傳來的數據逆向存儲到“數據庫層”中;在“信息服務層”中將整合其上層模型以及下層模型的各種信息,將其分類封裝后供“業務邏輯層”或者“數據信息層”根據不同的需求進行調用;在“業務邏輯層”中,通過獲取“信息服務層”中的信息,按照業務邏輯的需要進行分類組織篩選,將符合要求的信息輸送到“界面顯示層”,同時,將該層中接收到的信息傳入“信息服務層”中;而在“界面顯示層”中將業務邏輯層中的信息按照界面的對應設置進行輸出到屏幕上,同時也可以獲取用戶的輸入。
按照上述模型,結合本系統的實際情況考慮,基于MVC模式進行系統架構設計。MVC模式包括三個部分:模型(Model)、視圖(View)和控制器(Controller),分別對應于內部數據、數據表示和輸入輸出控制部分[1]。如圖1所示。
在本系統中,總共有3個模塊組成,分別是評估設計模塊,評估模塊以及人員管理模塊,其中三個模塊分別對應三個視圖“評估設置視圖”、“評估視圖”、“人員管理視圖”,這三個視圖與系統建模中的“界面顯示層”相對應;而業務邏輯控制器則與系統建模中的“業務邏輯層”相對應;而“評估結構模型”、“評估數據模型”以及“人員管理模型”則與系統建模中的“信息服務層”相對應,分別用以處理其對應的三個視圖中的數據;“信息存儲結構”則對應系統建模中的“數據信息層”,主要作用是將數據庫中的數據通過對應的算法提取出來,形成有用的信息;“數據庫”對應系統建模中的“數據庫層”,用以存儲全部的元數據。
不難發現,本系統的關鍵點在于其可擴展性,只有優秀的可擴展性才可以支持多種評估規則的設置。因此,本系統的數據庫設計是該系統的重中之重。數據庫的功能直接影響該系統的功能,而數據庫的性能則是其能否很好地執行、響應對應功能的一個決定性因素。因此一個數據庫質量的好壞直接就決定了該系統是否能夠完成既定目標,實現具體功能。
而眾所周知,當期的主流數據庫是關系型數據庫,其表結構中的數據是通過主鍵和索引進行搜索和查找的,但是如果按照普通的數據庫的設計方法進行設計,每當修改評估設置的時候都需要修改數據庫中的表結構(包括新增表、刪除表和修改表),這無疑給數據庫的性能造成很大的負擔。筆者專門對此進行了實驗,實驗結果表明,對MySQL數據庫來說,這種對表結構進行修改的操作在并發性相對略高的情況下,就會導致較大的使用延遲,由此所帶來的用戶體驗也會相對較差。因此,通過對于多種存儲方式的研究后,筆者發現,當數據庫采用了類似C/C++中樹的儲存結構時,所實現的靈活性是最高的,其功能與樹相似,可以自由地擴展任意節點,可以自由地添加子節點或者兄弟節點,從而來適應各種組織、機構的評估規則,同時每個節點的構成采用面向對象中類的思想。然而,要使用這種方法進行數據庫設計,則需要將數據庫每個節點的公有屬性抽象出來,專門放置在一個表中。經過研究,本系統中的每個節點都包括六個屬性:第一個屬性是其該節點的唯一編號;第二個屬性是該節點的父節點編號;第三個屬性則是該節點對應項目所占其父項節點對應項目的分數比例;第四個屬性是該節點對應的項目所允許的最大參與人數;第五個屬性是該節點對應的項目所允許的最小參與人數;第六個屬性則是該節點的類型,在本系統中需要的類型共有兩種:(1)分類項類型:即在節點下會有其他子節點;(2)最終項類型:即該節點為子節點,其下不存在子節點,而對于等級評價,則是將其等級轉化為分數存儲在該屬性中。而存儲在數據庫中的數據,則根據需要通過深度優先遍歷或者廣度優先遍歷把需要的數據取出來,存儲到信息存儲結構中即可很方便地對其進行調用。除了儲存評估結構外,還需要通過表來存儲評估結果和存儲人員的基本信息。此外,還需要通過javascript來實現生成Excel文件,由于該類功能的實現較為簡單,筆者故不在此一一敘述了。
注釋:
[1]大學生綜合測評:大學生相互為對方提供的評估.
[2]評估:根據自評結果、互評結果和測評結果按照權重相加得出的結果.
[3]自評:由自己對自己進行評價(包括等級和分數)通過計算得出的成績.
[4]互評:由同級之間互相評價(包括等級和分數)的結果通過計算得出的成績.
[5]測評:由上級或者老師直接給出的評價(包括等級和分數)通過計算得出的成績.
[6]項目從屬:某個評估項目與其他評估項目的從屬關系,如某個父評估項目下還有子評估項目.
[1]任中方,張華,閆明松,等.MVC模式研究的綜述[J].計算機應用研究,2004,21(10).