賈躍++付麗梅++韓羽佳
摘 要
本文針對“程序設計”類考試的軟件很難評價出一個人的項目開發能力的問題,以系統能夠客觀、真實、迅速的評價出一個人的項目開發能力為目標,采用.NET技術,C#語言和SQLServer直接存儲,開發了一個軟件工程師技能測評系統。該系統能夠定向評測考生軟件開發能力,改變了以往對評分題客觀的“非對即錯”模式,真實的反映考生的項目開發能力,緩解了社會對高水平項目開發者的急切需要,具有明顯的社會效益和經濟效益。
【關鍵詞】NET技術 管理子系統 考試子系統 項目開發能力評測
網絡化在線考試作為網上遠程教育的重要組成部分和發展分支,己經在國外一些發達國家得到蓬勃發展,國內外已經有很多計算機“程序設計”類考試的軟件,它們大多具有上機考試和自動評閱的功能,但受考試題型限制很大,通常采用客觀題的形式,并對程序設計類試題的評分方法很不完善,往往是“非對即錯”,并不能真實的反映考生的項目開發能力。為了能夠客觀、真實、迅速的評價出一個人的項目開發能力從而緩解目前社會急切需要具有高水平的項目開發者的問題,開發一套能夠定向評測軟件開發能力的測試系統對網絡發展具有重要意義。
1 系統需求分析
本系統可分為管理子系統和考試子系統。主要用戶包括考生和管理員。
1.1 對于考官功能如下
1.1.1 試卷管理
通過試卷管理可以制定多種組卷方案,在進行考試參數設置的時候,管理員可以選擇使用其中的一套組卷方案。可以建立、編輯、瀏覽和刪除組卷方案,試卷的生成、編輯、刪除和打印等功能。
1.1.2 參數管理
考試參數包括考試標識、考試時間、監考密碼、是否顯示題號、是否顯示成績、設置考試場次等,可以對以上各項參數進行管理。
1.1.3 題庫管理
題庫管理的基本功能包括題型的管理、試題的管理,試題的統計。
1.1.4 基本資料管理
管理所有的考生的基礎信息,包括考生信息的導入、導出、查看、編輯、刪除等,導入功能提供從Excle表導入考生基本信息到系統數據庫的功能,導出功能是將數據庫中的考生導出到Excel電子表格文件中。
1.2 考生的基本功能如下
1.2.1 用戶管理
提供了注冊、登錄以及基本信息的維護的功能。
1.2.2 參加考試
輸入準考證號和密碼進行登陸,登陸成功后跳轉到客觀題的說明頁面,提醒考生答題規則。點擊按鈕可跳入答題頁面,考生在答完一道題目后,單擊“下一題”按鈕,將會跳轉到下一題目。單位時間內無論是否答完系統都會自動跳入下一題。答主觀題時,考生在編輯代碼的過程中,可以進行調試、編譯、查看幫助文檔等操作。在完成該題目后,點擊按鈕,該系統將會調用已寫好的測試用例進行測試,并將得分情況提交到服務器,同時跳轉到下一題目。
1.2.3 評分及查看成績
在全部題目完成后,點擊提交,系統會對客觀題目進行判分,對操作題目除了給出評分外,還會給出一份考生項目開發能力的評測報告。
經過對本系統的開發需求進行全面分析,總結出該系統實現的主要功能包括:管理子系統的試卷管理、題庫管理、參數管理考生基本信息管理和考試子系統的用戶管理、參加考試、自動評分及查看成績。
2 系統總體架構設計及功能模塊設計
2.1 體系結構設計
.NET軟件開發技能測評系統采用三層開發方式,基于B/S架構,三層開發即指數據持久層、業務邏輯層和表現層,表現層作用是顯示業務處理結果,提供給用戶交互接口,根據用戶的請求調用不同的業務邏輯。業務邏輯層的作用是完成具體的業務邏輯操作,返回處理結果。數據持久層的作用是完成完成業務邏輯對數據庫的訪問。分層開發的目的是為了實現“高內聚、低耦合”。易于控制、易于擴展、易于分配資源。降低了應用程序開發和維護的成本,增強了系統的復用性,系統的擴展性大大增強。表現層采用的技術主要是ASP.NET,其特點是頁面和代碼分離,頁面技術有HTML、Javascript和CSS以及ASP.NET服務器控件,交互邏輯處理主要由事件處理函數完成。業務層使用C#編寫的類封裝具體的業務邏輯和數據訪問。模型層主要是對數據表的封裝。
2.2 動態模型設計
根據需求分析,得出系統完成的主要功能包括:考官的試卷管理,參數設置,考生信息管理,題庫管理;考生的用戶管理,參加考試,評分及查看成績。系統的總體功能結構圖如圖1所示。
2.3 數據庫設計
本系統面向的用戶主要是考生、和考官。對考生用戶來說,最重要的是方便考生考試和成績的查詢。對于考官用戶來說,最重要的是方便考試系統的管理和維護。這就要求數據庫結構能夠滿足各種信息的輸出和輸入。在對考試系統進行系統設計的基礎上,可以得到下面所示的主要數據項和數據結構:
2.3.1 管理人員表
包括的數據項有姓名、密碼、權限等。
2.3.2 考生信息表
包括的數據項有姓名、性別、身份證號、工作單位、工作崗位、工作證號、考試科目、專業、職稱等。
2.3.3 考生答案備份表
包括的數據項有姓名、身份證號、考試科目、試卷編號、試題類型、試題卷面題號、考生答案。
2.3.4 考生成績表
包括的數據項有姓名、身份證號、考試科目、試卷編號、試卷名稱、總分等。
2.3.5 考生答題狀態表
包括的數據項有姓名、身份證號、試卷編號、試卷名稱、考試科目、當前狀態、開始時間等。
2.3.6 科目與專業表
包括的數據項有考試科隊專業等。
2.3.7 單位信息表
包括的數據項有單位名稱等。
2.3.8 試卷信息表
包括的數據項有試卷名稱、試卷編號、考試科目、專業、單選、題數、單選題總分數、多選題數、多選題總分數、判斷題數、判斷題總分數、填空題數、填空題總分數、簡單題數、簡答題總分數、考試時間、考試開始日期、考試結束日期、卷面總分、試卷難度系數等。
基于需求分析,本系統使用面向對象的方法進行設計,主要方法是分析動態模型,并進一步得出最終的解決方案—類圖。
3 系統實現
3.1 系統開發工具以及開發環境
本系統采用vs2008開發平臺,數據庫使用的是Sql Server 2008,測試及源代碼版本管理采用VS開發環境集成的TFS工具。為了保證系統運行的效率和可靠性,系統服務器應該具有較高的軟硬件配置,對于客戶端來說,要求不高。
3.2 管理子系統的實現
試卷管理模塊可以對組卷方案進行管理,也可以對試卷進行管理。題庫管理模塊可以對題型及試題進行管理。打開試題維護窗口,選擇一種試題類型后,在試題維護窗口可以對試題添加、編輯、及查找。
3.3 考試模塊的實現
輸入準考證號,登錄系統后即可參加考試,試題類型分為選擇題、判斷題以及主觀題。選擇題目主要是單選,考生答完后,系統會自動評分,客觀題評分的主要依據是在數據庫里把選項和正確答案保存后,用戶的答案和題庫里的正確答案比對,記錄正確個數,根據每個題目的分值和正確個數評出選擇題目和判斷題題目的分數。為項目操作通過單元測試、UI測試、功能測試后,給考試出一份項目測試報告。點擊“下載項目開發能力報告”按鈕后,會下載一份word格式的能力評測報告。
4 結束語
以互聯網為主要手段的現代遠程教育己成為當今教育發展的趨勢之一。在國內外,遠程教育不斷蓬勃發展。而題庫系統更是遠程教育的一大重要組成部分,因此,基于Web的題庫系統的研究對于發展遠程技術教育尤為重要。本系統還有許多新的問題需要解決,需要在實際應用中不斷積累和完善。
參考文獻
[1]鄭阿奇.C#實用教程[M].北京:電子工業出版社,2008.
[2]胡海峰,趙陽.VB編程題自動評分系統的設計與實現[J].金華職業技術學院學報,2009(12).
[3]龔赤兵.Web開發新體驗:ASP.NET 3.5 MVC架構與實戰[M].北京:電子工業出版社,2009(09).
[4]洛伊(美)..NET組件開發(影印版)[M].南京:東南大學出版社,2006(04).
[5]鄧麗,孫風棟,張冬青.數據庫原理與應用[M].大連:東軟電子出版社,2010.
作者簡介
賈躍(1979-),女,滿族,遼寧省錦州市人。碩士學位。現為大連東軟信息學院軟件工程系副教授。研究方向為軟件工程。
作者單位
大連東軟信息學院軟件工程系 遼寧省大連市 116021