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