仇學敏
(貴州廣播電視大學 貴陽 550004)
在線測試系統(tǒng)的研究,發(fā)達國家比我國早。在美國,一些著名的考試就采用了網(wǎng)上在線測試系統(tǒng)完成測試,例如:Microsoft公司的MCSE(微軟系統(tǒng)工程師認證考試)、GMAT(工商管理碩士入學考試)、TOEFL(托??荚?、GRE(美國研究生入學考試)等。由于我國計算機技術(shù)和網(wǎng)絡(luò)技術(shù)落后于發(fā)達國家,在線測試系統(tǒng)系統(tǒng)沒有在國內(nèi)廣泛應(yīng)用,僅在計算機類的部分考試采用了在線測試系統(tǒng),這也導致了其它類型題庫的建設(shè)也相對較晚。隨著我國計算機網(wǎng)絡(luò)信息技術(shù)的不斷發(fā)展,在線測試系統(tǒng)的應(yīng)用也逐步開始普及。例如:北京師范大學的網(wǎng)絡(luò)教學平臺、上海交通大學的網(wǎng)絡(luò)考試平臺、英語等級考試、駕照考試科目一、計算機等級考試等。
針對現(xiàn)階段遠程教育體系的辦學現(xiàn)狀和特點,研發(fā)一套具有現(xiàn)代遠程教育辦學特點的學生在線測試系統(tǒng),有助于提高遠程教育的教學質(zhì)量。學生在線測試系統(tǒng)作為遠程教育教學活動的補充,通過數(shù)據(jù)可視化呈現(xiàn)技術(shù),教師能夠更加直觀清晰地了解學生的學習情況,根據(jù)數(shù)據(jù)的分析結(jié)果,更有針對性地改進教學。
UML是可視化建模語言,UML為軟件開發(fā)人員提供了一種用于交流的詞匯表,是一種用于軟件藍圖的標準語言。UML可以對系統(tǒng)進行靜態(tài)結(jié)構(gòu)和動態(tài)行為的建模。UML以面向?qū)ο蟮姆椒枋鱿到y(tǒng),從系統(tǒng)開發(fā)的需求分析階段到系統(tǒng)的測試階段,我們都可以把UML應(yīng)用于整個系統(tǒng)的開發(fā)過程中。[1]
UML技術(shù)可以清晰的描述模型體系,比如類的職責定義,對外的依賴關(guān)系,以及類之間的交互動作等,提高建模準確性。采用UML分析設(shè)計學生在線測試系統(tǒng)時,首先,要對系統(tǒng)進行需求分析,對系統(tǒng)的靜態(tài)模型進行建模,即用例圖、類圖、對象圖、包圖、構(gòu)件圖和配置圖對系統(tǒng)進行靜態(tài)建模而產(chǎn)生的圖,這是系統(tǒng)軟件模型建立的基礎(chǔ)。其次,通過UML的動態(tài)模型來描述用例和類之間的協(xié)作,動態(tài)建模通常由順序圖、協(xié)作圖、狀態(tài)圖和活動圖來體現(xiàn)。建立的動態(tài)模型是否可以順利執(zhí)行或者執(zhí)行時的時序、交互關(guān)系是否正確,這都可以通過對象間的消息傳遞來完成,對象所處的狀態(tài)會隨著傳遞結(jié)果的變化而發(fā)生改變。最后,用組件圖來完成系統(tǒng)的物理實現(xiàn)[1]。
在介紹和細化需求分析之前,先了解分析的定義。分析就是對問題域進行研究,即研究該領(lǐng)域特性以及存在(需要解決)的問題特性,通透理解后用文檔詳細記錄并說明。根據(jù)分析的定義,我們可以知道對問題域的研究與理解是需求分析的核心。為方便對問題域的理解,根據(jù)現(xiàn)代軟件工程方法,推薦的做法就是對問題域進行抽象,將其劃分為若干基本元素,然后對這些元素間的關(guān)系進行建模[3]。需求分析的任務(wù)是對已經(jīng)收集到的用戶需求進行分析提煉,并明確得出系統(tǒng)需要實現(xiàn)的功能目標[2]。
學生在線測試系統(tǒng)需要滿足四個需求目標:一是學生可以隨時隨地登錄系統(tǒng)完成考試科目的測試。二是在線測試系統(tǒng)的題型均為單選題、多選題、判斷題、填空題四種客觀題,系統(tǒng)可以自動批改試卷、反饋考試結(jié)果。三是學生通過該系統(tǒng)可以了解自己掌握的知識點,及時查缺補漏,鞏固知識點。四是系統(tǒng)可對每門課程的測試結(jié)果進行分析,運用數(shù)據(jù)可視化呈現(xiàn)技術(shù)直觀展示數(shù)據(jù)的變化規(guī)律,指導教師根據(jù)學生對各個知識點掌握的情況,對教學內(nèi)容的講授有的放矢。教師也可以調(diào)整評分體系,根據(jù)教學內(nèi)容的難易程度,制定靈活的評分參數(shù),使評分系統(tǒng)更科學、合理。
系統(tǒng)建模的目的就是通過對學生在線測試系統(tǒng)最大程度的模擬,充分了解、分析、獲取用戶的真正需求,了解系統(tǒng)的真正功能,找出系統(tǒng)開發(fā)過程中可能會遇到的問題,并提前加以防范[2]。用例圖、類圖、順序圖、活動圖是用來對系統(tǒng)的用例方面或邏輯方面進行建模,關(guān)注的是系統(tǒng)內(nèi)部業(yè)務(wù)組成與邏輯結(jié)構(gòu),組件圖是描述系統(tǒng)的物理組成,描述軟件系統(tǒng)中各個物理組件之間關(guān)系的一種UML圖[4]。
2.2.1 用例圖
Use Case Diagram(用例圖)是表示一個系統(tǒng)中用例與參與者關(guān)系的圖。它描述了系統(tǒng)中相關(guān)用戶和系統(tǒng)對不同用戶提供的功能和服務(wù)[1]。參與者、用例以及元素之間的關(guān)系是用例圖的主要組成部分。在UML中,一個橢圓表示一個用例,一個小人表示一個參與者[5]。
通過需求分析可以看出,該系統(tǒng)的使用對象只有學生、教師和管理員三類。
學生用戶:學生注冊后就可以選中相應(yīng)的試卷科目進行在線測試,當試卷測試完成后,系統(tǒng)會對試卷進行自動評卷,并給出評卷結(jié)果。
教師用戶:教師主要對試卷的科目及每一科目試卷的試題庫進行管理。
管理員用戶:主要完成對用戶身份資料和考試結(jié)果的管理。
圖1是系統(tǒng)的總體用例圖。用例的實例是“登陸”“用戶權(quán)限管理”“考試結(jié)果管理”“題庫操作”“試卷編輯”“在線測試”“學生注冊”等。
圖1中的參與者有學生、教師和管理員。學生用戶登錄系統(tǒng)后進入學生注冊界面,注冊成功后再進入在線測試界面,選擇考試科目進行測試。教師用戶登錄系統(tǒng)后可以進行試卷編輯、題庫操作。教師在試卷編輯時,可以添加新的試卷科目,刪除不要的試卷科目(同時刪除該科目所包含的題庫)。教師對題庫進行操作時,可以先選中相應(yīng)的試卷,然后對該試卷的題庫進行編輯(添加、刪除、修改),教師可編輯的題庫的類型有:單選題、多選題、判斷題和填空題這四種主觀題。管理員用戶登錄系統(tǒng)后可以對用戶權(quán)限和考試結(jié)果進行管理。在用戶權(quán)限界面,可以實現(xiàn)對用戶(管理員、教師、學生)身份權(quán)限的管理(添加、刪除、編輯)。在考試結(jié)果界面,系統(tǒng)會自動統(tǒng)計考試結(jié)果、考試分數(shù)段、試題出錯次數(shù),管理員可以對考試結(jié)果進行管理。
圖1 系統(tǒng)的總體用例圖
2.2.2 類圖
Class Diagram(類圖)是顯示一組類、接口、協(xié)作以及它們之間關(guān)系的圖。類圖的組成元素:類、接口和類之間的四種關(guān)系(依賴關(guān)系、泛化關(guān)系、關(guān)聯(lián)關(guān)系、實現(xiàn)關(guān)系)[1]。該系統(tǒng)中的類圖如圖2所示。該系統(tǒng)有10個基本類,分別是:“試卷列表”“試卷”“理工類試卷”“文科類試卷”“經(jīng)濟類試卷”“考試記錄列表”“考試記錄”“理工類學生考試紀錄”“文科類學生考試紀錄”“經(jīng)濟類學生考試紀錄”類。
·試卷類:從需求描述中可知,該系統(tǒng)需要實現(xiàn)系統(tǒng)自動評卷,試卷的題型只能由客觀題組成。試卷的題型由單選題、多選題、判斷題和填空題這四種客觀題組成。
·試卷列表類:試卷列表由試卷信息組成,對該類而言,其主要的成員方法是添加、修改、刪除。
·考試記錄類:考試記錄類的關(guān)鍵成員由序號、學生信息、考試時間、考試成績等信息組成。
·考試記錄列表:所有的考試記錄信息組成了考試記錄列表,考試記錄列表類的主要職責就是查詢、打印和統(tǒng)計。
圖2 學生在線測試系統(tǒng)的類圖
2.2.3 順序圖
Sequence Diagram(順序圖)是按時間為順序來顯示對象交互的圖。它是按時間順序描述一個交互及消息傳遞的一種方式,具體來說,順序圖顯示了參與交互對象和所交換信息的先后順序,順序圖用來表示用例中的行為,并把這些行為建模成信息交換。順序圖由四個元素組成:對象、生命線、激活和消息[1]。
圖3顯示了教師試卷管理功能順序圖,順序圖由水平方向和垂直方向兩個軸組成。水平軸上表示了不同的對象,即登陸界面、試卷編輯界面、題庫操作界面;垂直軸上表示時間、對象及類的生命周期。
在教師試卷管理功能順序圖中,它的角色顯然是教師,當教師登錄系統(tǒng)后,系統(tǒng)會自動辨別教師權(quán)限的合法性。擁有合法權(quán)限的教師,可以進入試卷編輯頁面和題庫操作這兩個頁面,對試卷進行管理操作。進入試卷編輯頁面后,可以對試卷(理工類試卷、文科類試卷、經(jīng)濟類試卷)進行添加、刪除的操作。需要注意的是,一旦選中刪除某一門科目的試卷時,該科目中所有的試題也會全部刪除且不能恢復。當教師進入題庫操作頁面后,教師可以進行添加試題、刪除試題、查詢試題和編輯試題的操作。
圖3 教師試卷管理功能順序圖
2.2.4 活動圖
Activity Diagram(活動圖)是UML中一種重要的用于表達系統(tǒng)動態(tài)特性的圖。在UML中,活動圖的作用就像流程圖一樣,用來表達動作序列的執(zhí)行過程,活動圖又與傳統(tǒng)的流程圖不同的地方在于,活動圖能夠展示并發(fā)和控制分支?;顒訄D的核心元素是活動和控制流,活動與活動之間通過控制流進行連接,組合成一張有意義的動作網(wǎng)絡(luò)[1]。
圖4顯示了學生在線測試系統(tǒng)流程活動圖。學生用戶輸入正確的用戶名和密碼,登錄成功后,進入在線測試頁面,首先對試卷進行選擇,選出需要測試的試卷,其次進入試卷的測試階段,測試題目的題型由單選題、多選題、判斷題和填空題這四種客觀題組成。學生完成試卷的測試后,把試卷的測試結(jié)果提交給系統(tǒng),系統(tǒng)自動閱卷,最后反饋成績單給學生,成績單上的內(nèi)容除了總分外,還有每道題的做題情況,方便學生對知識點進行查缺補漏。學生完成學習過程后,可退出在線測試頁面。
圖4 學生在線測試流程活動圖
2..2.5 組件圖
Component Diagram(組件圖)由組件、接口和端口組成。被封裝完好的物理實現(xiàn)單元就是一個組件,它具有組件的身份標識并定義了明確的接口。接口是一個被命名的操作集合,用于描述類或組件的一個服務(wù)。端口是一個被封裝的組件,是對外的窗口。在被封裝的組件中,所有出入組件的交互都要通過端口[1]。
通過對該系統(tǒng)進行規(guī)劃設(shè)計,該系統(tǒng)的主要組件包括:學生交互、教師交互、管理員交互、學生注冊、考試管理、在線測試、題庫操作、試卷編輯、身份資料、數(shù)據(jù)庫操作。如圖5所示,是該系統(tǒng)的組件圖。在確定了系統(tǒng)的組件以后,需要考慮組件可以對外部提供什么服務(wù),也就是組件的接口和組件之間的依賴關(guān)系。在該系統(tǒng)中,考試管理組件中,考試信息的接口需要由在線測試組件來提供。在線測試組件中,題庫信息的接口需要由題庫操作組件來提供。在題庫操作組件中,試卷信息的接口需要由試卷編輯組件來提供。
圖5 系統(tǒng)組件圖
現(xiàn)代軟件開發(fā)常采用面向?qū)ο蟮姆椒ㄟM行建模,面向?qū)ο蟮姆椒ㄟm合在各種問題域中建造各種規(guī)模和復雜度的系統(tǒng)。UML的目的是對面向?qū)ο笙到y(tǒng)進行可視化、詳述、構(gòu)造和文檔化[6]。根據(jù)學生在線測試系統(tǒng)的需求分析的結(jié)果,利用UML建模方法,實現(xiàn)了對學生在線測試系統(tǒng)的動態(tài)建模和靜態(tài)建模,這為學生在線測試系統(tǒng)的實現(xiàn)打下了堅實的基礎(chǔ)。