+軟件介紹
+為(wèi)健全和(hé)完善幹部量化考核工作(zuò)的內(nèi)容及程序,使幹部考核結果更加公正、準确地反映幹部德才表現情況,根據各單位2005年度反饋的情況及幹部處平時(shí)掌握的情況,以及“關于《幹部量化考核暫行(xíng)規定》的修改意見”的相關內(nèi)容。計(jì)劃對“山(shān)東省邊防總隊幹部量化考核管理(lǐ)系統”進行(xíng)軟件的相關功能調整和(hé)增加,以适應2006年度全省幹部量化考核的工作(zuò)。
+ 本系統由兩部分組成:幹部量化考核管理(lǐ)系統(C/S模式)、在線考試系統(B/S模式)。
+為(wèi)健全和(hé)完善幹部量化考核工作(zuò)的內(nèi)容及程序,使幹部考核結果更加公正、準确地反映幹部德才表現情況,根據各單位2005年度反饋的情況及幹部處平時(shí)掌握的情況,以及“關于《幹部量化考核暫行(xíng)規定》的修改意見”的相關內(nèi)容。計(jì)劃對“山(shān)東省邊防總隊幹部量化考核管理(lǐ)系統”進行(xíng)軟件的相關功能調整和(hé)增加,以适應2006年度全省幹部量化考核的工作(zuò)。
+核心技(jì)術(shù):
與Microsoft Excel技(jì)術(shù)結合。
+系統借用開(kāi)發工具提供的對象鏈接與嵌入(Object Linking Embedding,簡稱OLE)功能支持,在應用程序中使應用程序與Excel的對象生(shēng)成複合文件,并使應用程序和(hé)複合文件進行(xíng)數(shù)據通(tōng)信。
+OLE自動化是應用程序和(hé)生(shēng)成的複合文件之間(jiān)互相操縱的一種技(jì)巧。我們正是借助于Microsoft Excel所提供的自動化服務器(qì),通(tōng)過程序編寫自動化控制(zhì)器(qì)。采用OLE自動化來(lái)創建OLE對象,當激活一個(gè)OLE對象時(shí),服務器(qì)程序僅在容器(qì)程序內(nèi)部激活,也就是所謂的“就地激活(in-place activation)”。然後通(tōng)過自動化控制(zhì)器(qì)實現數(shù)據流在OLE對象和(hé)應用程序之間(jiān)的交流和(hé)傳遞。
+應用程序能夠從一個(gè)OLE服務器(qì)端應用程序進行(xíng)鏈接與內(nèi)嵌。當啓動OLE控件的一個(gè)對象時(shí),應用程序可(kě)以将控制(zhì)權轉換給OLE服務器(qì)端應用程序。那(nà)麽我們的系統用戶就可(kě)以直接在OLE Container應用程序之下直接存取所有(yǒu)OLE服務器(qì)端的功能。
+OLE對象與應用程序的數(shù)據傳遞我們采用了“OLE嵌入對象”的方式。嵌入對象存在于複合文件中,并成為(wèi)它的一部分,防止了複合對象因移動或鏈接失效而導緻的檢測不到的危險。
智能的組卷方案
+考生(shēng)試卷的生(shēng)成是系統管理(lǐ)員設置的試卷組成。在根據組成抽取題目時(shí),系統采用了智能的組卷方式。
+在根據規則進行(xíng)試卷生(shēng)成,此試卷是完全動态生(shēng)成的。其中試卷上(shàng)所有(yǒu)的題型根據提前設定的試卷規則進行(xíng)加載;同時(shí)試卷上(shàng)的試題是從題庫中抽取出來(lái)的,此過程當中利用了自制(zhì)的随機算(suàn)法,保證了一張試卷上(shàng)不會(huì)出現重複試題。
其中随機算(suàn)法的機制(zhì)為(wèi):利用僞随機數(shù)生(shēng)成器(qì)Random,一種能夠産生(shēng)滿足某些(xiē)随機性統計(jì)要求的數(shù)字序列的設備。僞随機數(shù)是以相同的概率從一組有(yǒu)限的數(shù)字中選取的。所選數(shù)字并不具有(yǒu)完全的随機性,因為(wèi)它們是用一種确定的數(shù)學算(suàn)法選擇的,但(dàn)是從實用的角度而言,其随機程度已足夠了。随機數(shù)的生(shēng)成是從種子值開(kāi)始。如果反複使用同一個(gè)種子,就會(huì)生(shēng)成相同的數(shù)字系列。産生(shēng)不同序列的一種方法是使種子值與時(shí)間(jiān)相關,從而對于 Random 的每個(gè)新實例,都會(huì)産生(shēng)不同的系列。要提高(gāo)性能,請(qǐng)創建一個(gè) Random,以便随着時(shí)間(jiān)的推移可(kě)以生(shēng)成很(hěn)多(duō)随機數(shù),而不要重複新建 Random 來(lái)生(shēng)成一個(gè)随機數(shù)。
+在具體(tǐ)生(shēng)成Random實例時(shí),采取了從系統時(shí)鍾派生(shēng)出的種子值,根據此帶有(yǒu)種子值的随機數(shù)生(shēng)成器(qì)可(kě)以得(de)到題庫範圍內(nèi)的随機序列,根據此序列進行(xíng)題庫中試題抽取,保證了同一張試卷上(shàng)不會(huì)出現相同試題。
+防作(zuò)弊功能
+ 在考生(shēng)考試過程中,采取對試卷頁的全屏顯示,同時(shí),通(tōng)過捕捉鍵盤按鍵的鍵值,通(tōng)過客戶端考生(shēng)按鍵時(shí)的分析,對如複制(zhì)、粘貼、屏幕切換等進行(xíng)了屏蔽,可(kě)以防止考生(shēng)在考試時(shí)作(zuò)弊行(xíng)為(wèi)。
+通(tōng)過鍵盤上(shàng)的按鍵、鼠标左右鍵生(shēng)成對象window.event.keyCode,即代表的鍵值,再通(tōng)過微軟提供的基于IE的onkeydown、onmousemove及oncontextmenu精确地捕獲客戶端(考生(shēng))即時(shí)的終端動作(zuò),與事先定義的枚舉Enum對象中的鍵值進行(xíng)比較,進行(xíng)快速的判斷,最終通(tōng)過返回的真僞值實現客戶端終端動作(zuò)的正确響應。而這一切從獲取終端動作(zuò)、到分析動作(zuò)對應的鍵值、最終響應動作(zuò)效應,在最初由服務器(qì)端發出指令外,以後動作(zuò)資源消耗都由客戶端承擔,完全由客戶端腳本函數(shù)塊實現,利用IE內(nèi)部機制(zhì)實現頁面功能的實現,即保證了服務器(qì)端資源的消耗,也實現了客戶端終端動作(zuò)屏蔽的目的。
+禁止重複登陸
+綜合原理(lǐ):利用此登陸機制(zhì)實現後登陸成功者,自動把之前登陸成功者蹬出,防止同一用戶同時(shí)對系統進行(xíng)操作(zuò),造成操作(zuò)結果混亂。
+利用應用程序狀态對象Application,具有(yǒu)用于啓動和(hé)停止應用程序和(hé)線程以及處理(lǐ) Windows 消息的方法,對這種按應用程序的實例的訪問權限是通(tōng)過名為(wèi) Application 的 HttpContext 屬性提供的,完成對應用程序範圍內(nèi)所有(yǒu)會(huì)話(huà)的的方法和(hé)事件的訪問。在應用程序周期內(nèi)來(lái)保存用戶登陸時(shí)産生(shēng)的唯一Session對象的會(huì)話(huà)狀态的唯一SessionID,再通(tōng)過哈希表Hashtable利用字典表形式公開(kāi)保存此對象的鍵/值。當把某個(gè)元素添加到 Hashtable 時(shí),将根據鍵的哈希代碼将該元素放入存儲桶中。該鍵的後續查找将使用鍵的哈希代碼隻在一個(gè)特定存儲桶中搜索,這将大(dà)大(dà)減少(shǎo)為(wèi)查找一個(gè)元素所需的鍵比較的次數(shù)。Hashtable 的加載因子确定元素與存儲桶的最大(dà)比率。加載因子越小(xiǎo),平均查找速度越快,但(dàn)消耗的內(nèi)存也增加。默認的加載因子 1.0 通(tōng)常提供速度和(hé)大(dà)小(xiǎo)之間(jiān)的最佳平衡。當創建 Hashtable 時(shí),也可(kě)以指定其他加載因子。當向 Hashtable 添加元素時(shí),Hashtable 的實際加載因子将增加。當實際加載因子達到此加載因子時(shí),Hashtable 中存儲桶的數(shù)目自動增加到大(dà)于當前 Hashtable 存儲桶數(shù)兩倍的最小(xiǎo)質數(shù)。
+當有(yǒu)同用戶名的用戶登陸成功後,會(huì)重寫Application對象中對應的值,同時(shí)之前登陸成功的用戶任何操作(zuò)都會(huì)檢測到此對象的更改,最終之前登陸成功的用戶被強制(zhì)蹬出,無法進行(xíng)任何操作(zuò)。