用UML建模需要注意的問題_第1頁
用UML建模需要注意的問題_第2頁
用UML建模需要注意的問題_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

用UML:蕓模需要注意的問題用UML建模時,對軟件開發(fā)過程是有要求的,必須是用例驅動,以架構為中心,迭代和遞增的開發(fā),如果軟件開發(fā)組織的軟件開發(fā)過程不能滿足這三點要求,那么UML的使用效果就會大打折扣,下面詳細論述:一、 用例驅動用例驅動意味著為系統(tǒng)定義的用例是整個開發(fā)過程的基礎。用例在多個核心工作流程中都發(fā)揮了作用。1、 用例的概念可用來表示業(yè)務流程,我們稱這種用例的變體為“業(yè)務用例”。2、 用例模型是需求工作流程的輸出結果。在這一早期流程中,需要通過用例來建立用戶希望系統(tǒng)完成的任務的模型。這樣,用例構成了一個重要的基本概念,客戶和系統(tǒng)開發(fā)人員都必須認可這個概念。3、 在分析設計中,用例是在設計模型中實現(xiàn)的。您需要生成用例實現(xiàn)來說明在設計模型中如何通過對象的交互來執(zhí)行用例。此模型根據(jù)設計對象來說明所實施系統(tǒng)的各個組成部分,以及這些部分如何通過相互作用來執(zhí)行用例。4、 在實施階段,設計模型就是實施的規(guī)約。由于用例是設計模型的基礎,所以用例需通過設計類來實施。5、 在測試期間,用例是確定測試用例和測試過程的基礎。也就是說,通過執(zhí)行每一個用例來核實系統(tǒng)。6、 在項目管理過程中,用例被用來作為計劃迭代式開發(fā)的基礎。7、 在部署工作流程中,它們構成用戶手冊闡述內容的基礎。用例也可用來確定產品構件如何排列組合。例如,客戶可通過將用例進行某種組合來配置一個系統(tǒng)。二、 以架構為中心構架之所以重要,原因有以下幾點:1、它使您可對項目進行并保持理智的控制,應付項目中復雜多變的情況,同時保持系統(tǒng)的完整性。一個復雜的系統(tǒng)不僅僅是其各組成部分之和,也不光是一連串沒有關聯(lián)關系的、很小的技巧決定。它必須依靠某種連貫統(tǒng)一的結構來有條理地組織那些部分,并且提供準確的規(guī)則,使系統(tǒng)發(fā)展過程中,其復雜程度不會膨脹,超越人類的理解力。通過建立用于討論設計問題的一套公共參考材料和一個公共詞匯表,構架提供了增進交流和理解的手段。2、 它是大規(guī)模復用的有效基礎。通過明確闡述它們之間的主要構件和關鍵接口,構架為您決定重復使用提供依據(jù),包括內部復用(確定公用的部分)和外部復用(并入現(xiàn)成的構件)。它還允許更大規(guī)模上的復用:構架本身的復用,用于處理同一領域中的不同功能。3、 構架還可作為項目管理的基礎。項目計劃和人員配備是根據(jù)主要構件的類別組織進行的?;镜慕Y構決策是由一個人員組成相對固定的構架小組作出的,他們不是分散的。而開發(fā)活動則被分配給若干個小組,每個小組負責開發(fā)系統(tǒng)的一個或若干個部分。三、迭代和遞增的開發(fā)迭代式方法一般要優(yōu)于線性或瀑布式方法,其原因很多。1、 允許變更需求。需求有時會變化,這常常給項目帶來麻煩,它們會導致延期交付、工期延誤、客戶不滿意、開發(fā)人員受挫。2、 逐步集成元素。在迭代式方法中,集成可以說是連續(xù)不斷的。過去在項目結束時要占到整個項目工作量的那段較長的、不確定的且棘手的時期,現(xiàn)在分散到六至九個集成部分中,每一部分要集成的元素都比過去少得多。3、 及早降低風險。因為風險一般只有在集成階段才能發(fā)現(xiàn)或得到處理。在初期迭代時,檢查所有的核心工作流程,對項目使用的工具、市售軟件及人員技能等許多方面進行磨合。過去認定的風險可能被證明不再是風險,而又可能出現(xiàn)一批新的未曾懷疑過的風險。4、 有助于組織學習和提高。團隊成員有機會在整個生命周期中邊做邊學,各顯其能。測試員可以早一些開始測試,技術文檔編寫員可及早開始編寫,其他人也是如此。如果是非迭代式開發(fā),這些人在初期只能制定計劃或培訓技能,空等著開始他們的工作。培訓需求等也可在評估復審中盡早提出。5、 提高復用性。因為分部分設計或實施比起預先確定所有共性更容易確定公用部分。確定和開發(fā)可重復使用的部分并非易事。早期迭代中的設計復審可使構架設計師確定毋庸置疑的潛在復用部分,并在以后的迭代中開發(fā)和完善這些公用代碼。6、生成性能更強壯的產品。因為在多次迭代中您總是不斷地糾正錯誤。在產品脫離先啟階段后的初期迭代中仍然可以發(fā)現(xiàn)缺陷。性能上的瓶頸可以盡早發(fā)現(xiàn)并處理,而不象在交付前夕,此時已來不及處理。7、 容許產品進行戰(zhàn)術改變。例如同現(xiàn)有的同類產品競爭??梢詻Q定采用搶先競爭對手一步的方法,提前發(fā)布一個功能簡化的產品,或者采用其他廠商的已有技術。8、 迭代流程自身可在進行過程中得到改進和精煉。一次迭代結束時的評估不僅要從產品和進度的角度來考察項目的情況,而且還要分析組織和流程本身有什么待改進之處,以便在下次迭代中更好地完成任務。通常在軟件開發(fā)過程中,迭代在數(shù)量、持續(xù)時間和目標上都是按計劃進行的。參與者的任務和職責都已確定好。對進度進行的目標評測都將記錄備查。從一次迭代到下一次迭代確實會存在返工現(xiàn)象,但返工也是嚴格按規(guī)定進行的。四、 使用不當?shù)膯栴}很多企業(yè)員工在使用UML的過程中,只是進行了領域建模,沒有進行用例建模,這樣是不能最大可能地發(fā)揮UML的優(yōu)勢的,因為該組織的軟件開發(fā)過程不是用例驅動的。如果軟件開發(fā)組織的軟件開發(fā)過程不能滿足上述三點要求,那么UML的使用效果就會大打折扣。也會產生一些問題,有些組織在使用UML之后,發(fā)現(xiàn)前期花很長時間設計的模型到了項目的中后期和真正的開發(fā)成果相去甚遠,以至于全都束之高閣了,如果產生這樣的問題,就應該仔細研究一下組織的軟件開發(fā)過程,是否滿足上述三點要求,如果軟件開發(fā)過程不滿足迭代的開發(fā),模型沒有隨著進度改進,這種問題就很容易出現(xiàn)。UML2.0和MDA(模型驅動架構)提出了一些解決開發(fā)周期前期和后續(xù)的模型不一致問題的方法,就是通過模型的轉換來完成模型的自動變更,而不是對各個抽象層次的模型全部進行修改,但MDA為大部分人所接受還需要些時日。五、 總結綜上所述,UML雖然是軟件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論