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