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