UML軟件開發(fā)過程和支持環(huán)境研究論文
國際上,軟件工程領(lǐng)域在近3年內(nèi)取得了前所未有的發(fā)展,其成果超過軟件工程領(lǐng)域過去10至15年來的成就總和。其中最重要的、具有劃時代意義的成果之一就是統(tǒng)一建模語言UML(Uni—fiedModelingLanguage)的出現(xiàn)。
UML是繼80年代末和90年代初面向?qū)ο蠼<夹g(shù)高潮后,出現(xiàn)方法學(xué)大戰(zhàn),應(yīng)市場對統(tǒng)一建模語言的要求,由世界著名的面向?qū)ο蠹夹g(shù)專家Booch>Jacobson和Rumbaugh發(fā)起,在著名的Booch表示法、OOSE方法和OMT方法的基礎(chǔ)上,廣泛征求意見,集眾家之長,幾經(jīng)修改而完成時。在美國,截至1996年10月,UML已經(jīng)獲得工業(yè)界、科技界和應(yīng)用界的廣泛支持,已有700多個公司表示支持采用UML語言作為建模語言。
到1997年11月17日UML被OMG(ObjectManagementGroup)米納為基于面向?qū)ο蠹夹g(shù)的建模語言標(biāo)準(zhǔn)。這標(biāo)志著面向?qū)ο蠹夹g(shù)中建模語言的爭論暫時告一段落。
作為建模語言,UML可以說是一種定義良好、易于表達(dá)、功能強大且普遍適用的建模語言,
它為用戶建模提供了完整的符號表示和不同層次的兀模型(metamodel)如用例圖(uses—casedia—gram)包圖(packagediagram)、類圖(classdiag—ram)、狀態(tài)圖(statediagram)、X寸象圖(objectdia—gram)、活動圖(activitydiagram)、順序圖(se—quencediagram)合作圖(collaborationdiagram)組件圖(componentdiagram)、配置圖(deploy—mentdiagram)等。它的作用域不僅支持面向?qū)ο蟮姆治雠c設(shè)計,還支持從需求分析開始的軟件開發(fā)的全過程,但如何恰當(dāng)?shù)貙⑦@些可視化圖形建模技術(shù)用于解決軟件開發(fā)所面臨的問題以及對建模過程的研究和支持工具的研究,仍是目前該領(lǐng)域的熱點問題。
目前,在基于UML的開發(fā)方法和環(huán)境方面國際上已經(jīng)進行了一些研究和實際開發(fā)工作。Ra—tional公司正致力于它稱之為Objectory過程的研究,并試圖將其原有支持OMT的工具作進一步擴充,以期支持UML建模,并支持對OMT模型的升級。國內(nèi)對UML的研究尚處于起步階段。
本文從當(dāng)前對軟件開發(fā)過程的需求出發(fā),提出了UML柔性軟件開發(fā)過程,并設(shè)計了相應(yīng)的集成化支持環(huán)境的組成框架。
1UML柔性軟件開發(fā)過程
電子計算機技術(shù)和現(xiàn)代通訊技術(shù)的飛速發(fā)展正迅速改變著人們對時間和空間的概念,世界在物理上正變得越來越小,而內(nèi)容卻比以前任何時候都復(fù)雜。全球經(jīng)濟競爭、信息高速公路等近代信息技術(shù)都迫使各個企業(yè)面臨著新的挑戰(zhàn)。為了能在瞬息萬變的市場和激烈的競爭中保住一席之地,負(fù)責(zé)信息技術(shù)機構(gòu)的主管人員將不得不學(xué)會應(yīng)變管理技術(shù)(changemanagement)。在軟件開發(fā)領(lǐng)域,需要改變其開發(fā)與生產(chǎn)的范式,以滿足這種新的需求。
傳統(tǒng)的軟件開發(fā)模式越來越難以滿足當(dāng)前企業(yè)和市場的需求。新的產(chǎn)品開發(fā)周期已不再是一次性的從需求定義、軟件設(shè)計、實現(xiàn)和交付,迭代式增量開發(fā)方式已得到廣泛采用。這是由于軟件系統(tǒng)的規(guī)模越來越大,其復(fù)雜程度不斷提高,而與此同時又不得不面臨激烈的競爭對手和瞬息萬變的市場。時間就是效益,誰先占領(lǐng)市場,誰就是勝利者。但是占領(lǐng)市場和擊敗對手的條件除了時間之外,更重要的是過硬的質(zhì)量和提供用戶真正需要的產(chǎn)品。因此將新的.軟件開發(fā)模式歸結(jié)為圖1所示的迭代式開發(fā)和圖2所示的柔性軟件開發(fā)模型。
所謂柔性軟件開發(fā)是指軟件開發(fā)過程應(yīng)在需求工程的牽引下,首先建立系統(tǒng)模型,對模型進行模擬、分析和調(diào)整,進行從需求到建模的“自頂向下建模,由底向上修改”即從需求工程出發(fā),首先明確用戶要求,確定需求優(yōu)先級;在此基礎(chǔ)上為系統(tǒng)建立模型,該模型應(yīng)是可模擬的,通過對模型的模擬運行,以分析模型是否滿足用戶需求和滿足的程度。整個建模過程是自頂向下逐層細(xì)化的,而模擬修改則由底向上地進行。
然后在保證模型正確的基礎(chǔ)上,進行代碼的生成,同時還應(yīng)考慮到對需求修改的靈活性和快速響應(yīng)能力,因此應(yīng)能進行‘閉環(huán)開發(fā)”即不僅能支持從模型到代碼的自動生成,將新的模型轉(zhuǎn)換為代碼,還應(yīng)能支持從代碼到模型的逆向變換,將原有的代碼轉(zhuǎn)化成模型,進行再次分析、修改和調(diào)整,進行新一輪的開發(fā),從而為增量式開發(fā)提供支持,能分階段提交產(chǎn)品,也提高了對用戶需求變化的響應(yīng)速度和應(yīng)變能力,滿足用戶不斷變化的需求。
2UML軟件開發(fā)支持環(huán)境
為此,新一代集成化UML軟件開發(fā)環(huán)境應(yīng)是能無縫集成以上2個階段的一個柔性軟件開發(fā)環(huán)境。其組成應(yīng)包括UML可視化建模系統(tǒng)、UML模擬系統(tǒng)、UML代碼生成系統(tǒng)、UML逆向變換系統(tǒng)及其支持環(huán)境等,且這些環(huán)境的創(chuàng)建均應(yīng)基于UML的定義,除了語法規(guī)則外,還包括詳細(xì)的語義定義,如圖3所示。從而支持系統(tǒng)建模、模擬和“閉環(huán)式開發(fā)'。
1)UML可視化建模系統(tǒng)UML可視化建模系統(tǒng)支持從系統(tǒng)需求、系統(tǒng)分析到系統(tǒng)設(shè)計的整個建模過程,提供UML圖形的編輯和美化工具,保證得到語法正確、語義完整的UML圖形模型,并提供包括文檔管理、圖形打印等輔助支持。可進一步分為以下幾個子系統(tǒng),如圖4所示。
()可視化模型建造系統(tǒng)由于UML不僅支持對系統(tǒng)的對象建模,還支持對需求和系統(tǒng)體系結(jié)構(gòu)的建模;不僅支持系統(tǒng)的靜態(tài)模型,還支持對系統(tǒng)動態(tài)模型的描述。因此模型建造系統(tǒng)應(yīng)支持以下模型的創(chuàng)建和編輯:需求模型。包括靜態(tài)模型和動態(tài)模型。靜態(tài)模型即功能模型,在UML中通過用例圖描述系統(tǒng)功能和各功能的潛在用戶及它們之間的關(guān)系;動態(tài)模型通過活動圖支持對業(yè)務(wù)過程或事務(wù)處理過程的描述。
系統(tǒng)對象模型。同樣包括靜態(tài)模型和動態(tài)模型。通過包圖、類圖和對象圖定義系統(tǒng)對象及對象間的靜態(tài)關(guān)系。通過順序圖、合作圖和狀態(tài)圖描述對象間的交互關(guān)系和交互順序、對象的生命周期以及生命周期中對象可能存在的狀態(tài)以及狀態(tài)間的轉(zhuǎn)換約束。
系統(tǒng)體系結(jié)構(gòu)模型。通過組件圖、配置圖支持軟件體系結(jié)構(gòu)和硬件體系結(jié)構(gòu)以及通信機制的定義。進一步還應(yīng)支持軟硬件系統(tǒng)之間的合作關(guān)系的可視化表示。
(2)UML語法正確性檢測機制
本文來源:http://www.nvnqwx.com/shiyongwen/2469791.htm