于玉華
(河北廣播電視大學(xué),河北 石家莊 050071)
?
基于RUP的NIT在線學(xué)習(xí)系統(tǒng)研究與開發(fā)
于玉華
(河北廣播電視大學(xué),河北 石家莊 050071)
統(tǒng)一軟件開發(fā)過程RUP保障了在預(yù)定的進(jìn)度和范圍內(nèi)完成高質(zhì)量軟件設(shè)計,它能夠有效地降低成本、減少風(fēng)險,更好地適應(yīng)需求變化。NIT在線學(xué)習(xí)系統(tǒng)的開發(fā),是以RUP思想為主導(dǎo),通過需求捕獲、用例驅(qū)動以及迭代和增量的過程完成的。
RUP; NIT; 用例; 迭代
隨著信息技術(shù)的不斷發(fā)展,人類進(jìn)入了信息時代,計算機(jī)作為信息時代的基本工具,已被廣泛地應(yīng)用于現(xiàn)代生活的各個領(lǐng)域,大大提高了我們的工作效率和管理水平。為了科學(xué)、系統(tǒng)地培養(yǎng)應(yīng)用型計算機(jī)技術(shù)人才,教育部考試中心推出了“全國計算機(jī)應(yīng)用技術(shù)證書考試”——National Applied Information Technology Certificate,簡稱NIT。NIT是一種以應(yīng)用技術(shù)為主的計算機(jī)培訓(xùn)和技能證書考試,具有學(xué)習(xí)內(nèi)容的科學(xué)性、學(xué)習(xí)過程的自主性、作業(yè)設(shè)計的實(shí)用性、證書的權(quán)威性等自身特點(diǎn)。NIT的教學(xué)模式,以“建構(gòu)主義教學(xué)理論”為依據(jù),以學(xué)生真正掌握計算機(jī)操作技能為目的,通過NIT培訓(xùn),將賦予個人素質(zhì)以全新內(nèi)涵,極大地增強(qiáng)就業(yè)競爭能力,適合各種行業(yè)人員崗位培訓(xùn)的需要和個人的特定需求。
由于NIT自身特點(diǎn),使得NIT自問世以來就受到人們的歡迎,參加培訓(xùn)考試的人數(shù)不斷上升,發(fā)展非常迅速。不管從學(xué)習(xí)者的數(shù)量,學(xué)習(xí)者的類型,學(xué)習(xí)者的目的,還是從教育者的知識儲備,知識更新速度等方面來看,現(xiàn)有的師資、設(shè)施以及傳統(tǒng)的面授教學(xué)方式已不能滿足大量學(xué)生同時學(xué)習(xí)的要求,限制了其發(fā)展速度,需要一種新的教育方式解決此問題。因此,為了方便廣大NIT學(xué)生學(xué)習(xí)與考試,減少教師的輔導(dǎo)工作量,提高管理人員的工作效率,需要充分利用Internet技術(shù),針對NIT學(xué)生的實(shí)際情況和NIT自身的學(xué)習(xí)特點(diǎn),研究開發(fā)一個“NIT在線學(xué)習(xí)系統(tǒng)”。這對于克服NIT傳統(tǒng)教學(xué)的困難,推動NIT的發(fā)展具有重要的意義。
軟件開發(fā)過程是一個將用戶需求轉(zhuǎn)化為軟件系統(tǒng)所需要活動的集合。統(tǒng)一軟件開發(fā)過程——Rational Unified Proeess,簡稱RUP,是Ratoinal軟件公司開發(fā)的軟件工程過程,其目標(biāo)是保障開發(fā)組織能夠在預(yù)定的進(jìn)度和預(yù)定范圍內(nèi)開發(fā)出滿足最終用戶需要的高質(zhì)量軟件產(chǎn)品。它汲取了面向?qū)ο蟮能浖こ填I(lǐng)域多年來的優(yōu)秀研究成果,利用了新的可視化建模標(biāo)準(zhǔn)UML(Unified Modeling Language),是軟件工程發(fā)展的新成果。相對于傳統(tǒng)的線形瀑布模型,統(tǒng)一軟件過程是螺旋形的,是用例驅(qū)動的。首先獲得并實(shí)現(xiàn)了關(guān)鍵用例,由此建立系統(tǒng)的基本構(gòu)架。再以此構(gòu)架為中心,進(jìn)行迭代開發(fā),每一次迭代只開發(fā)部分用例,減少了復(fù)雜性,降低了成本。它對需求的變化有較強(qiáng)的適應(yīng)性,能較早產(chǎn)生可運(yùn)行的版本,及時地得到反饋,降低風(fēng)險。
1.用例驅(qū)動
用例是用戶與系統(tǒng)交互的動作集合,是系統(tǒng)執(zhí)行的一系列有序的動作,對用戶產(chǎn)生可觀測的、有價值的結(jié)果,它獲取的是功能需求。RUP是用例驅(qū)動的過程,用例不僅是一種確定系統(tǒng)需求的工具,它還能驅(qū)動系統(tǒng)分析、設(shè)計、實(shí)現(xiàn)、測試的進(jìn)行,這意味著用例不僅啟動了開發(fā)過程,而且用例驅(qū)動整個的軟件開發(fā)過程,使整個開發(fā)過程渾然一體。
2.以構(gòu)架為中心
軟件基本構(gòu)架是一個關(guān)于整體設(shè)計的視圖,體現(xiàn)了軟件的更為重要的特征。構(gòu)架的產(chǎn)生與系統(tǒng)中的主要用例有較大關(guān)系,通過對主要用例的分析而形成系統(tǒng)的構(gòu)架,而構(gòu)架本身反過來指導(dǎo)系統(tǒng)的開發(fā)過程。用例和構(gòu)架之間是相互影響、并行進(jìn)化的。一方面,用例在實(shí)現(xiàn)時必須適合于構(gòu)架;另一方面,構(gòu)架必須預(yù)留空間以實(shí)現(xiàn)現(xiàn)在或?qū)硭行枰挠美?/p>
3.迭代和增量
RUP通過一系列的迭代和增量的方法來完成開發(fā)。將軟件產(chǎn)品開發(fā)工作分解成若干小項目,每個小項目是指能導(dǎo)致一個增量的一次迭代。迭代式開發(fā)方法是一個不斷降低風(fēng)險的過程,在每一次迭代中,只做一部分獲取需求、分析、設(shè)計、實(shí)現(xiàn)和測試的工作,選擇風(fēng)險最大的用例執(zhí)行。因此風(fēng)險在迭代過程中不斷地被發(fā)現(xiàn)、被降低。
在RUP中,用例驅(qū)動、以構(gòu)架為中心及迭代的增量開發(fā)是同等重要的,是RUP的三個關(guān)鍵技術(shù)?;緲?gòu)架提供了指導(dǎo)迭代中的工作的結(jié)構(gòu),而用例則確定了開發(fā)目標(biāo)并推動每次迭代。即具體的迭代工作,由用例來確定目標(biāo),在構(gòu)架確定的結(jié)構(gòu)上進(jìn)行。缺乏這三個概念中的任何一個,都將嚴(yán)重降低RUP的價值。
1.系統(tǒng)需求分析
軟件系統(tǒng)是為了服務(wù)于用戶而出現(xiàn)的,因此,為了構(gòu)造一個成功的系統(tǒng),必須了解用戶的需要是什么,并設(shè)法去滿足這些需要。首先對NIT在線學(xué)習(xí)系統(tǒng)進(jìn)行需求捕獲,系統(tǒng)需求捕獲是指開發(fā)人員通過實(shí)地調(diào)查并與用戶的大量接觸、與業(yè)務(wù)專家的深入溝通等方式而獲取整個系統(tǒng)的需求信息。需求捕獲階段的主要成果是用例,可方便開發(fā)人員與用戶進(jìn)行溝通,使軟件開發(fā)人員和客戶之間在需求方面達(dá)成共識。正確地捕獲需求,對于開發(fā)成功的系統(tǒng)并保持其長久的生命力是必不可少的。
NIT在線學(xué)習(xí)系統(tǒng)是一個針對NIT教學(xué)中自主訂制教學(xué)任務(wù)的實(shí)時的、動態(tài)的、個性的和多元化的教學(xué)環(huán)境。NIT學(xué)生計算機(jī)基礎(chǔ)水平不同,根據(jù)NIT的特點(diǎn),應(yīng)以建構(gòu)主義理論為指導(dǎo),充分發(fā)揮學(xué)生的自主性,應(yīng)該由學(xué)生來主導(dǎo)學(xué)習(xí)進(jìn)程、由學(xué)生決定如何學(xué)習(xí)、怎樣學(xué)習(xí),即由學(xué)生自主定制教學(xué)任務(wù)、自主選擇教學(xué)任務(wù)。該系統(tǒng)要具有較高的數(shù)據(jù)安全性、通用性、可擴(kuò)展性和穩(wěn)定性,適合目前遠(yuǎn)程教育學(xué)習(xí)的要求,能充分發(fā)揮學(xué)生學(xué)習(xí)主動性和積極性,通過學(xué)生自主訂制教學(xué)任務(wù),為NIT教學(xué)過程中的學(xué)生和教師提供一個良好的交互式學(xué)習(xí)環(huán)境。
RUP是用例驅(qū)動的過程,表明開發(fā)過程是沿著一個流——一系列從用例得到的工作流前進(jìn)的。用例被確定,用例被分析設(shè)計,用例被實(shí)現(xiàn),最后用例又成為測試人員構(gòu)造測試用例的基礎(chǔ)。用例和系統(tǒng)需求緊密相聯(lián),通過對NIT在線學(xué)習(xí)系統(tǒng)需求的深入分析研究后捕獲用例。NIT在線學(xué)習(xí)系統(tǒng)有學(xué)生、教師、管理員三個參與者。系統(tǒng)用例包括注冊、登錄、學(xué)習(xí)素材的下載練習(xí)、作業(yè)的上傳、教學(xué)素材的上傳、作業(yè)批改、在線輔導(dǎo)、用戶管理等。用戶注冊需輸入符合規(guī)則的用戶相關(guān)信息,登錄需輸入正確的用戶名和密碼。
2.系統(tǒng)設(shè)計
(1)系統(tǒng)的體系架構(gòu)。RUP強(qiáng)調(diào)軟件開發(fā)是以軟件構(gòu)架為中心的,構(gòu)架就是清晰提供整個系統(tǒng)結(jié)構(gòu)的框架,也就是重要內(nèi)容的邏輯組織和結(jié)構(gòu)。一個良好的軟件體系結(jié)構(gòu)直接決定了軟件的質(zhì)量,因此在線學(xué)習(xí)系統(tǒng)的構(gòu)架設(shè)計是系統(tǒng)設(shè)計的一個重要組成部分。目前網(wǎng)絡(luò)系統(tǒng)的體系架構(gòu)主要有兩種模式:客戶機(jī)/服務(wù)器模式(Client/Server)簡稱C/S和Web瀏覽器/服務(wù)器模式(Browser/Server)簡稱B/S。這兩種模式各有優(yōu)缺點(diǎn),應(yīng)用于不同的環(huán)境。NIT辦學(xué)規(guī)模不斷擴(kuò)大,學(xué)生又分布于全省各地,NIT在線學(xué)習(xí)系統(tǒng)作為一種信息管理系統(tǒng),應(yīng)采用B/S模式來進(jìn)行開發(fā)。B/S模式由客戶端瀏覽器、Web服務(wù)器和數(shù)據(jù)庫服務(wù)器三部分組成,客戶端只是一個簡單易用的瀏覽器軟件,簡化了系統(tǒng)的開發(fā)和維護(hù),使用戶的操作變得更簡單,它可以在任何時間、任何地點(diǎn)、以任何接入方式實(shí)現(xiàn)跨平臺的網(wǎng)絡(luò)實(shí)時操作,易于擴(kuò)展,能夠滿足大規(guī)模學(xué)生的學(xué)習(xí)需求,特別適用于網(wǎng)上信息發(fā)布,這是C/S所無法實(shí)現(xiàn)的。
(2)系統(tǒng)功能結(jié)構(gòu)。根據(jù)系統(tǒng)實(shí)際需求,將NIT在線學(xué)習(xí)系統(tǒng)在功能上劃分為在線學(xué)習(xí)子系統(tǒng)、教師管理子系統(tǒng)、系統(tǒng)管理子系統(tǒng)三部分。系統(tǒng)根據(jù)用戶身份的不同將用戶區(qū)分為教師、學(xué)生和管理員三種角色,分別賦予不同的權(quán)限,從三條不同的通道進(jìn)入相應(yīng)子系統(tǒng)。新用戶首先要經(jīng)過注冊、身份驗證后才能登錄。系統(tǒng)用戶不同,賦予的權(quán)限不同,登錄的子系統(tǒng)不同,實(shí)現(xiàn)的功能也不同。通過這樣一個嚴(yán)格的身份驗證和不同權(quán)限的設(shè)置來保證系統(tǒng)的安全性,保護(hù)數(shù)據(jù)的安全性。
在線學(xué)習(xí)子系統(tǒng)用戶為學(xué)生,主要實(shí)現(xiàn)學(xué)生的在線學(xué)習(xí)功能,包括邊學(xué)邊練、作業(yè)上傳、資料下載、在線交流等功能,學(xué)生根據(jù)自己學(xué)習(xí)的情況有選擇地下載學(xué)習(xí),對于已經(jīng)掌握的內(nèi)容可以跳過,對于自己的重點(diǎn)難點(diǎn)可以多次重復(fù)學(xué)習(xí),不再受課堂的時間、地點(diǎn)和教師等多方面因素的制約,根據(jù)實(shí)際情況能夠自主定制學(xué)習(xí)任務(wù)。教師管理子系統(tǒng)用戶為教師,主要實(shí)現(xiàn)教學(xué)管理功能,包括對學(xué)生的過程考核、作業(yè)評審以及課程資料上傳、課程公告、在線交流等功能,每門課程的教師將該門課程每一個教學(xué)環(huán)節(jié)總結(jié)成一個個相對獨(dú)立的教學(xué)任務(wù),并將所需的素材說明一并傳輸?shù)较到y(tǒng)平臺上,將來在使用這些數(shù)據(jù)時由學(xué)生根據(jù)需要有選擇的獲取,在線學(xué)習(xí)和下載素材可以同步進(jìn)行,提高學(xué)生的在線學(xué)習(xí)效率。系統(tǒng)管理子系統(tǒng)用戶為管理員,需保證系統(tǒng)運(yùn)行的可靠性、可控性,主要實(shí)現(xiàn)用戶管理、教學(xué)資源管理、系統(tǒng)維護(hù)、信息發(fā)布等功能,用戶管理需根據(jù)不同的用戶身份賦予不同的權(quán)限、設(shè)置不同的用戶功能。
3.系統(tǒng)實(shí)現(xiàn)
在RUP中,實(shí)現(xiàn)階段需將基于設(shè)計的結(jié)果,探討如何使用源代碼、腳本、二進(jìn)制代碼、可執(zhí)行體等構(gòu)件來實(shí)現(xiàn)系統(tǒng)。這一階段的成果是系統(tǒng)實(shí)現(xiàn)模型,在實(shí)現(xiàn)模型中,通過配置圖或組件圖來描述系統(tǒng)的物理體系結(jié)構(gòu)。組件圖描述了組件及組件之間的關(guān)系,表示了組件之間的組織和依賴關(guān)系。配置圖顯示了基于計算機(jī)系統(tǒng)的物理體系結(jié)構(gòu)。它著眼于系統(tǒng)的結(jié)點(diǎn)的類圖,為系統(tǒng)中的物理結(jié)點(diǎn)、結(jié)點(diǎn)之間的靜態(tài)關(guān)系建立了可視化的模型,并規(guī)定了構(gòu)造的細(xì)節(jié)。
RUP認(rèn)為系統(tǒng)的開發(fā)是一個迭代模型,每個階段都經(jīng)歷從業(yè)務(wù)需求分析開始的各個步驟,每一個階段又可以進(jìn)一步分解成一次或多次迭代,每一次迭代只開發(fā)部分用例,逐步實(shí)現(xiàn)其他的用例,直到得到一個功能完善的系統(tǒng)。在NIT在線學(xué)習(xí)系統(tǒng)的開發(fā)過程中,同樣遵循了這樣的生命周期。采用了迭代和增量的開發(fā)方法,在項目初期較好地解決了風(fēng)險問題,使整個項目進(jìn)度良好,保證按時保質(zhì)完成預(yù)定目標(biāo)。
基于RUP的軟件過程與傳統(tǒng)的開發(fā)方法相比,使用迭代方法能夠有效地降低風(fēng)險,更好地適應(yīng)需求變化;以用例驅(qū)動、架構(gòu)為中心的開發(fā)使得開發(fā)人員能比較容易地控制整個系統(tǒng)的開發(fā)過程;從需求獲取到系統(tǒng)實(shí)現(xiàn),用例的獲取,分析、設(shè)計和實(shí)現(xiàn)都具有可追蹤性,保證了軟件體系結(jié)構(gòu)的穩(wěn)定性,也提高了軟件系統(tǒng)的可維護(hù)性。為規(guī)范管理軟件開發(fā)過程,降低軟件復(fù)雜性,減少軟件開發(fā)風(fēng)險,提高軟件質(zhì)量,提供了有效的途徑。
[1](美)Ivar Jacobson,Grady Booch,James Rumbaugh著.周伯生,馮學(xué)民,樊東平譯.統(tǒng)一軟件開發(fā)過程[M].北京:機(jī)械工業(yè)出版社,2002.
[2]Per Kroll著.徐正生譯.Rational統(tǒng)一過程實(shí)踐者指南[M].北京:中國電力出版社,2004.
[3]王華勝,王停.面向?qū)ο蟮能浖こ谭椒āy(tǒng)一軟件過程[J].河北省科學(xué)院學(xué)報,2003,(2).
(責(zé)任編輯 靳榮莉)
2010-02-17
于玉華(1968-),女,河北無極人,高級工程師,主要從事信息管理及軟件工程研究。
TP311.52
A
1008-469X(2010)03-0013-03