趙正凱 楊爍 李歐
摘要:該文采用Node.js+Mongodb+Bootstrap開發(fā)技術,設計并實現(xiàn)一個B/S結構的大學生綜合測評系統(tǒng),實現(xiàn)了綜合測評、測評信息查詢與管理、測評規(guī)則設置與管理、活動管理、用戶管理及系統(tǒng)配置等功能。
關鍵詞:綜合測評;Node.js;B/S
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1009-3044(2014)19-4466-03
1 概述
目前許多高校都采用綜合測評來對學生綜合素質進行考核和評估,傳統(tǒng)的綜合測評方式主要是手工評測,這導致信息收集率普遍偏低、大部分數(shù)據(jù)集不能充分利用,學生不能收到及時的反饋信息和缺少公平公開的查詢平臺等缺點,因此開發(fā)一個公平公開、穩(wěn)定、可靠的網(wǎng)上測評系統(tǒng)勢在必行。經(jīng)過對現(xiàn)有大學生綜合測評方法的調研,該文采用Node.js + MongoDB +Bootstrap技術,設計并實現(xiàn)了大學生綜合測評系統(tǒng),該系統(tǒng)能有效的提高評測效率,使信息錄入快捷和有效,同時使學生綜合信息管理更加規(guī)范、學生信息得到極大限度的共享與透明,并能科學的統(tǒng)計與分析學生的綜合素質,快速方便的查詢評測結果。
2 相關技術簡介
2.1 Node.js
Node.js 是一個基于Chrome JavaScript 運行時建立的一個平臺, 用來方便地搭建快速的, 易于擴展的網(wǎng)絡應用,Node.js 借助事件驅動,非阻塞 I/O 模型,使所構建的應用變得輕量和高效。
2.2 MongoDB
MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,旨在為WEB應用提供可擴展的高性能數(shù)據(jù)存儲解決方案。它的特點是高性能、易部署、易使用,存儲數(shù)據(jù)非常方便。它支持的數(shù)據(jù)結構類似json的bson格式可以存儲比較復雜的數(shù)據(jù)類型。Mongo最大的特點是它支持的查詢語言非常強大,幾乎可以實現(xiàn)類似關系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。
2.3 Bootstrap
Bootstrap是Twitter推出的一個開源的用于前端開發(fā)的工具包,用于創(chuàng)建網(wǎng)站和Web應用程序。它包含了HTML和CSS為基礎的設計模板排版,表格,按鈕,導航等界面組件,以及可選的JavaScript擴展,使用LESS來編寫CSS,擁有很強大的可配置性。
3 系統(tǒng)需求分析
經(jīng)過項目組成員對國內大學現(xiàn)有的紙質綜合測評方式進行的分析可知,本系統(tǒng)應能滿足以下需求:
1) 支持學生、測評小組和系統(tǒng)管理員三類用戶,每類用戶具有不同的權限,系統(tǒng)為每類用戶提供不同的操作界面。
2) 應能根據(jù)不同需求制定相應的綜合測評標準,依據(jù)規(guī)范的測評標準實現(xiàn)公正客觀的學生綜合素質評價,并提供對綜合測評信息的有效管理。
3) 應具有較為強大的公共數(shù)據(jù)收集能力和相對完善的后臺數(shù)據(jù)庫管理,基于實現(xiàn)學校建立數(shù)字化信息管理平臺的目的,能使該系統(tǒng)與學?,F(xiàn)有的教務管理系統(tǒng)進行有機的結合。
4) 支持并發(fā)操作,能滿足用戶大規(guī)模同時在線進行登錄和查詢操作,同時具備一定的信息系統(tǒng)安全性和傳輸信息的穩(wěn)定性,來確保系統(tǒng)運行過程中數(shù)據(jù)傳輸?shù)目煽啃院蜆I(yè)務流程的規(guī)范性。
4 系統(tǒng)設計
4.1 綜合測評計算方式
系統(tǒng)中設計的一些概念:
1) 規(guī)則:它定義了綜合測評的計算方式,一般記錄在學校的相關文件中。
2) 加分項:它代表了所有符合規(guī)則中加分要求的項目,如“參加了某某活動”是加分項,“某某學年的平均分”也是加分項。
系統(tǒng)中,根據(jù)學校的制定的綜合測評加分規(guī)則,在管理員的規(guī)則管理中構建出相應的規(guī)則模型。然后再由測評小組人員配置自己權限范圍內所有加分項應該對應的具體規(guī)則。最后再由學生用戶對自己擁有的加分項進行添加。用戶添加完自己的加分項后,系統(tǒng)就可以通過加分項對應的規(guī)則計算出每個加分項的分數(shù),最后計算出綜合測評的總分。
4.2 系統(tǒng)功能模塊設計
根據(jù)系統(tǒng)需求分析結果,將系統(tǒng)劃分成個3大模塊,即學生、測評小組和管理員模塊。系統(tǒng)功能模塊如圖1所示。
圖1 系統(tǒng)功能結構圖
1) 學生模塊
學生模塊是綜合測評數(shù)據(jù)的核心,它又可細分成以下幾個模塊:
綜合測評模塊,學生用戶可以通過綜合測評模塊獲得自己的綜合測評信息以及進行綜合測評。學生綜合測評模塊主界面如圖2所示。
圖2 學生綜合測評界面
查看綜測模塊,該模塊實現(xiàn)了查看綜合測評成績的功能,學生可以通過該模塊可查看自己的綜合測評成績,同時還可以查看所在班級的所有學生的綜合測評成績及排名。
加分項管理模塊,該模塊實現(xiàn)了對測評加分項的管理。加分項管理模塊界面如圖3所示。
圖3 加分項管理界面
2) 測評小組模塊
測評小組模塊,用于對綜合測評的規(guī)則進行部分配置,同時管理綜合測評數(shù)據(jù)和加分項數(shù)據(jù)。該模塊又可細分為以下幾個模塊:
規(guī)則分配模塊,系統(tǒng)的基礎規(guī)則是由管理員進行配置,測評小組用戶無法修改,此處的規(guī)則分配是對加分項的加分方式規(guī)則進行分配。 規(guī)則分配模塊界面如圖4所示。
圖4 規(guī)則分配界面
加分項管理模塊,用于對學生用戶添加的加分項進行添加、刪除和審核。
查看綜合測評模塊,用于查看他所管理的范圍內的所有綜合測評信息。
3) 管理員模塊
管理員模塊實現(xiàn)了對所有信息的管理,該模塊又可細分為以下幾個模塊:
用戶信息管理模塊,當系統(tǒng)連接到用戶信息數(shù)據(jù)庫后,管理員可以對用戶信息進行增加、刪除及修改操作。
綜合測評規(guī)則管理模塊,用于管理綜合測評規(guī)則。管理員可以根據(jù)各個學期學校對學生的不同素質要求以及不同活動的重要性對綜合測評規(guī)則進行一定的調整。綜合測評規(guī)則計算程序可以通過解析管理員修改規(guī)則后生成的對應文本來計算審核合格后的學生信息數(shù)據(jù)。綜合測評規(guī)則管理模塊界面如圖5所示。
圖5 綜合測評規(guī)則管理界面
系統(tǒng)設置模塊,包括測評時間的設置和數(shù)據(jù)源的設置。數(shù)據(jù)源的設置又包括人員管理數(shù)據(jù)源的設置,活動管理數(shù)據(jù)源的設置,成績管理數(shù)據(jù)源的設置和基本素質測評數(shù)據(jù)源的設置。管理員通過設置測評時間可以控制綜合測評的開始時間和結束時間;數(shù)據(jù)源的設置可以使用系統(tǒng)內部的數(shù)據(jù)庫也可以使用外部的數(shù)據(jù)源,這樣可以使系統(tǒng)管理員能夠靈活地控制系統(tǒng)數(shù)據(jù)源的引用。
活動管理模塊,主要用于管理學校舉辦的各種活動,記錄各種活動的舉辦信息。
成績管理模塊,主要用于對學生課程成績的添加、刪除和修改。
4.3 數(shù)據(jù)庫設計
系統(tǒng)數(shù)據(jù)庫設計了9張數(shù)據(jù)表,各數(shù)據(jù)表名稱及用途如下:
1) User用戶表,用來儲存用戶的id,用戶各階段的綜合測評總分以及加分項管理模塊最后同步的時間。
2) UserYAct用戶與加分項的關系表,用來儲存用戶id,加分項id,加分項分數(shù)以及加分項所屬的測評時間。
3) TimeTable測評時間表,用來定義各個測評時間所涵蓋的范圍,以及對這個范圍的測評時間的描述。
4) ActYPath加分項與規(guī)則關系表,用來定義各個加分項對應的評分規(guī)則。
5) Rule評分規(guī)則表,用來儲存綜合測評評分規(guī)則。
6) Activity活動表,用來儲存活動的基本信息。
7) ActManange活動管理表,用來儲存用戶和活動的關系,記錄用戶參加的活動。 (下轉第4475頁)
(上接第4468頁)
8) UserManage人員管理表,用來儲存用戶的基本信息。
9) ScoreManage課程成績管理表,用來儲存用戶的成績信息,記錄了每個用戶每個學期的課程成績情況。
4.4 系統(tǒng)實現(xiàn)關鍵技術
1) 異步的代碼調用。在Node.js中,可以通過是用process.nextTick(callback)語句,將callback異步調用,不必等callback運行完成,程序就能繼續(xù)執(zhí)行后面的語句。這樣能充分的利用計算機的資源,處理更多的并發(fā)請求。
2) 響應式布局。通過使用響應式布局網(wǎng)站能夠兼容多個終端,而不是為每個終端做一個特定的版本的頁面,能夠優(yōu)化移動端對網(wǎng)頁的訪問,同時減少冗余的代碼。
3) 非關系型數(shù)據(jù)庫。本系統(tǒng)使用非關系型數(shù)據(jù)作為持久化的解決方案,松散的數(shù)據(jù)方式能夠給程序更大的設計空間,同時擁有更好的拓展性。
5 結束語
大學生綜合測評系統(tǒng)解決了傳統(tǒng)紙質測評方式中信息傳遞不便捷、易遺漏、不易進行統(tǒng)計、分析和查詢等問題,實現(xiàn)了學生測評信息網(wǎng)絡化管理,使學生綜合信息管理更加規(guī)范,也大大提高了工作效率。
參考文獻:
[1] 高原.服務器端 javascript 技術研究[J].信息與電腦:理論版,2012(1):50.
[2] 李晶.NodeJS——服務器端 JavaScript 運行環(huán)境[J].程序員,2010(12):20.
[3] 田永強.Node. js 的核心與紅利[J].程序員,2012(10):116-119.
[4] 潘凡.從 MySQL 到 MongoDB——視覺中國的 NoSQL 之路[J].程序員,2010(6):79-81.
[5] 廖偉華.Twitter Bootstrap: 前端框架利器[J].程序員,2012(4):114-117.
圖4 規(guī)則分配界面
加分項管理模塊,用于對學生用戶添加的加分項進行添加、刪除和審核。
查看綜合測評模塊,用于查看他所管理的范圍內的所有綜合測評信息。
3) 管理員模塊
管理員模塊實現(xiàn)了對所有信息的管理,該模塊又可細分為以下幾個模塊:
用戶信息管理模塊,當系統(tǒng)連接到用戶信息數(shù)據(jù)庫后,管理員可以對用戶信息進行增加、刪除及修改操作。
綜合測評規(guī)則管理模塊,用于管理綜合測評規(guī)則。管理員可以根據(jù)各個學期學校對學生的不同素質要求以及不同活動的重要性對綜合測評規(guī)則進行一定的調整。綜合測評規(guī)則計算程序可以通過解析管理員修改規(guī)則后生成的對應文本來計算審核合格后的學生信息數(shù)據(jù)。綜合測評規(guī)則管理模塊界面如圖5所示。
圖5 綜合測評規(guī)則管理界面
系統(tǒng)設置模塊,包括測評時間的設置和數(shù)據(jù)源的設置。數(shù)據(jù)源的設置又包括人員管理數(shù)據(jù)源的設置,活動管理數(shù)據(jù)源的設置,成績管理數(shù)據(jù)源的設置和基本素質測評數(shù)據(jù)源的設置。管理員通過設置測評時間可以控制綜合測評的開始時間和結束時間;數(shù)據(jù)源的設置可以使用系統(tǒng)內部的數(shù)據(jù)庫也可以使用外部的數(shù)據(jù)源,這樣可以使系統(tǒng)管理員能夠靈活地控制系統(tǒng)數(shù)據(jù)源的引用。
活動管理模塊,主要用于管理學校舉辦的各種活動,記錄各種活動的舉辦信息。
成績管理模塊,主要用于對學生課程成績的添加、刪除和修改。
4.3 數(shù)據(jù)庫設計
系統(tǒng)數(shù)據(jù)庫設計了9張數(shù)據(jù)表,各數(shù)據(jù)表名稱及用途如下:
1) User用戶表,用來儲存用戶的id,用戶各階段的綜合測評總分以及加分項管理模塊最后同步的時間。
2) UserYAct用戶與加分項的關系表,用來儲存用戶id,加分項id,加分項分數(shù)以及加分項所屬的測評時間。
3) TimeTable測評時間表,用來定義各個測評時間所涵蓋的范圍,以及對這個范圍的測評時間的描述。
4) ActYPath加分項與規(guī)則關系表,用來定義各個加分項對應的評分規(guī)則。
5) Rule評分規(guī)則表,用來儲存綜合測評評分規(guī)則。
6) Activity活動表,用來儲存活動的基本信息。
7) ActManange活動管理表,用來儲存用戶和活動的關系,記錄用戶參加的活動。 (下轉第4475頁)
(上接第4468頁)
8) UserManage人員管理表,用來儲存用戶的基本信息。
9) ScoreManage課程成績管理表,用來儲存用戶的成績信息,記錄了每個用戶每個學期的課程成績情況。
4.4 系統(tǒng)實現(xiàn)關鍵技術
1) 異步的代碼調用。在Node.js中,可以通過是用process.nextTick(callback)語句,將callback異步調用,不必等callback運行完成,程序就能繼續(xù)執(zhí)行后面的語句。這樣能充分的利用計算機的資源,處理更多的并發(fā)請求。
2) 響應式布局。通過使用響應式布局網(wǎng)站能夠兼容多個終端,而不是為每個終端做一個特定的版本的頁面,能夠優(yōu)化移動端對網(wǎng)頁的訪問,同時減少冗余的代碼。
3) 非關系型數(shù)據(jù)庫。本系統(tǒng)使用非關系型數(shù)據(jù)作為持久化的解決方案,松散的數(shù)據(jù)方式能夠給程序更大的設計空間,同時擁有更好的拓展性。
5 結束語
大學生綜合測評系統(tǒng)解決了傳統(tǒng)紙質測評方式中信息傳遞不便捷、易遺漏、不易進行統(tǒng)計、分析和查詢等問題,實現(xiàn)了學生測評信息網(wǎng)絡化管理,使學生綜合信息管理更加規(guī)范,也大大提高了工作效率。
參考文獻:
[1] 高原.服務器端 javascript 技術研究[J].信息與電腦:理論版,2012(1):50.
[2] 李晶.NodeJS——服務器端 JavaScript 運行環(huán)境[J].程序員,2010(12):20.
[3] 田永強.Node. js 的核心與紅利[J].程序員,2012(10):116-119.
[4] 潘凡.從 MySQL 到 MongoDB——視覺中國的 NoSQL 之路[J].程序員,2010(6):79-81.
[5] 廖偉華.Twitter Bootstrap: 前端框架利器[J].程序員,2012(4):114-117.
圖4 規(guī)則分配界面
加分項管理模塊,用于對學生用戶添加的加分項進行添加、刪除和審核。
查看綜合測評模塊,用于查看他所管理的范圍內的所有綜合測評信息。
3) 管理員模塊
管理員模塊實現(xiàn)了對所有信息的管理,該模塊又可細分為以下幾個模塊:
用戶信息管理模塊,當系統(tǒng)連接到用戶信息數(shù)據(jù)庫后,管理員可以對用戶信息進行增加、刪除及修改操作。
綜合測評規(guī)則管理模塊,用于管理綜合測評規(guī)則。管理員可以根據(jù)各個學期學校對學生的不同素質要求以及不同活動的重要性對綜合測評規(guī)則進行一定的調整。綜合測評規(guī)則計算程序可以通過解析管理員修改規(guī)則后生成的對應文本來計算審核合格后的學生信息數(shù)據(jù)。綜合測評規(guī)則管理模塊界面如圖5所示。
圖5 綜合測評規(guī)則管理界面
系統(tǒng)設置模塊,包括測評時間的設置和數(shù)據(jù)源的設置。數(shù)據(jù)源的設置又包括人員管理數(shù)據(jù)源的設置,活動管理數(shù)據(jù)源的設置,成績管理數(shù)據(jù)源的設置和基本素質測評數(shù)據(jù)源的設置。管理員通過設置測評時間可以控制綜合測評的開始時間和結束時間;數(shù)據(jù)源的設置可以使用系統(tǒng)內部的數(shù)據(jù)庫也可以使用外部的數(shù)據(jù)源,這樣可以使系統(tǒng)管理員能夠靈活地控制系統(tǒng)數(shù)據(jù)源的引用。
活動管理模塊,主要用于管理學校舉辦的各種活動,記錄各種活動的舉辦信息。
成績管理模塊,主要用于對學生課程成績的添加、刪除和修改。
4.3 數(shù)據(jù)庫設計
系統(tǒng)數(shù)據(jù)庫設計了9張數(shù)據(jù)表,各數(shù)據(jù)表名稱及用途如下:
1) User用戶表,用來儲存用戶的id,用戶各階段的綜合測評總分以及加分項管理模塊最后同步的時間。
2) UserYAct用戶與加分項的關系表,用來儲存用戶id,加分項id,加分項分數(shù)以及加分項所屬的測評時間。
3) TimeTable測評時間表,用來定義各個測評時間所涵蓋的范圍,以及對這個范圍的測評時間的描述。
4) ActYPath加分項與規(guī)則關系表,用來定義各個加分項對應的評分規(guī)則。
5) Rule評分規(guī)則表,用來儲存綜合測評評分規(guī)則。
6) Activity活動表,用來儲存活動的基本信息。
7) ActManange活動管理表,用來儲存用戶和活動的關系,記錄用戶參加的活動。 (下轉第4475頁)
(上接第4468頁)
8) UserManage人員管理表,用來儲存用戶的基本信息。
9) ScoreManage課程成績管理表,用來儲存用戶的成績信息,記錄了每個用戶每個學期的課程成績情況。
4.4 系統(tǒng)實現(xiàn)關鍵技術
1) 異步的代碼調用。在Node.js中,可以通過是用process.nextTick(callback)語句,將callback異步調用,不必等callback運行完成,程序就能繼續(xù)執(zhí)行后面的語句。這樣能充分的利用計算機的資源,處理更多的并發(fā)請求。
2) 響應式布局。通過使用響應式布局網(wǎng)站能夠兼容多個終端,而不是為每個終端做一個特定的版本的頁面,能夠優(yōu)化移動端對網(wǎng)頁的訪問,同時減少冗余的代碼。
3) 非關系型數(shù)據(jù)庫。本系統(tǒng)使用非關系型數(shù)據(jù)作為持久化的解決方案,松散的數(shù)據(jù)方式能夠給程序更大的設計空間,同時擁有更好的拓展性。
5 結束語
大學生綜合測評系統(tǒng)解決了傳統(tǒng)紙質測評方式中信息傳遞不便捷、易遺漏、不易進行統(tǒng)計、分析和查詢等問題,實現(xiàn)了學生測評信息網(wǎng)絡化管理,使學生綜合信息管理更加規(guī)范,也大大提高了工作效率。
參考文獻:
[1] 高原.服務器端 javascript 技術研究[J].信息與電腦:理論版,2012(1):50.
[2] 李晶.NodeJS——服務器端 JavaScript 運行環(huán)境[J].程序員,2010(12):20.
[3] 田永強.Node. js 的核心與紅利[J].程序員,2012(10):116-119.
[4] 潘凡.從 MySQL 到 MongoDB——視覺中國的 NoSQL 之路[J].程序員,2010(6):79-81.
[5] 廖偉華.Twitter Bootstrap: 前端框架利器[J].程序員,2012(4):114-117.