-- 作者:wcdxyl
-- 发布时间:3/24/2006 4:47:00 PM
-- [转帖]浅谈UML
UML是什麼? UML是Unified Modeling Language的簡稱,中譯為「統一塑模語言」。其中: ●Unified:UML是一種標準語言,廣泛運用於全世界。 ●Modeling:UML用途在於塑模(Modeling),也就是畫軟體藍圖。 ●Language:UML是一種塑模語言,而非程式語言或標示語言。 也就是說,UML是軟體系統發展人員用以建造模型,而這些模型使得工作團隊能夠:將系統具象化(Visualization)、將系統結構及行為規格化(Specification)、建構(Construction)系統、以及記錄(Documentation)發展系統過程中之各項決策。 什麼是塑模? 作曲家會將其腦袋中的旋律譜成樂曲,建築師會將其設計之建築物畫成藍圖,行銷廣告人員會將其創意製作成簡報;這些樂曲、藍圖及簡報就是模型(Model),而建構這些模型的過程就稱為塑模(Modeling)。 軟體開發如同音樂譜曲及建築設計,其過程中也必須將需求、分析、設計、實作、佈署等各項工作流程之構想與結果予以呈現,這就是軟體系統之塑模。 為什麼要塑模? 絕大部份的音樂演奏都需要樂譜(除了少數即性式表演外)! 絕大部份的建築施工都需要藍圖(除非要蓋的是一間狗屋)! 同樣的,所有軟體系統的建構最好都有適當的分析設計藍圖,因為軟體開發的過程絕對不是任意的、隨性的、且戰且走的、天馬行空的。 UML在軟體塑模中所扮演的角色是什麼? 軟體發展之方法論中包含了程序(Process)及表示法(Notation)兩個部份,其中: ●程序指的是系統開發的流程,例:瀑布模式、漸增模式、擴展模式、雛型模式、螺旋模式等。 ●表示法指的是建構軟體模型中所會用到之符號及規則。 UML所涵蓋的內容是表式法而非程序,UML是與程序無關的(Process Independent),也就是說,無論以任何程序來開發軟體系統,都可以使用UML來建構軟體模型。 UML與物件導向方法之關係 ●UML之訂定與物件導向方法的確有非常密切之關係。 ●UML中的各種符號及規則與物件導向語言(Java,C++)之結構有完整對應。 ●但是,UML絕對不僅限用在物件導向軟體開發,UML中有些概念與圖形甚至可說是與物件導向無關, 例:Use Case Diagram及Statechart Diagram ●因此,軟體開發時無論是否採用物件導向方法,UML都是適用的。 UML的重要性 ●UML是OMG公佈的官方標準。 ●UML已為全世界軟體業者所廣泛採用,各大軟體公司(Microsoft、IBM、Oracle等) 在其產品中均支援UML。 ●UML的應用領域越來越廣(資料庫設計、韌體設計、資訊管理等)。 UML的現行版本 UML現行版本為1.5版(http://www.omg.org/technology/documents/formal/uml.htm),但2.0版將近完成,應會在短期內正式公佈(http://www.omg.org/uml)。 UML的內容到底是什麼? UML對於軟體開發相關人員而言,其實就只是一組符號及規則,其中包括: 1.Basic Building Blocks(都有其相對的符號) (1) Things ●Structura˙Things:Class、Interface、Collaboration、Use Case、Active Class、Component、Node ●Behaviora˙Things:Interaction、State Machine ●Grouping Things:Package ●Annotation Things:Note (2) Relationships:Association、Generalization、Dependence、Realization (3) Diagrams ●Structural:Class、Object、Component、Deployment ●Behavior:Use Case、Activity、Statechart、Sequence、Collaboration 2.Rules(符號的使用規則) Name、Scope、Visibility、Integrity、Execution 3.Common Mechanisms(各類符號及圖形通用的機制) Specification、Adornments、Common Division、Extensibility Mechanisms 如何學習UML? ●找本淺顯易懂的入門書籍,先掌握UML的全貌,千萬不要被過多抽象的軟體工程專有名詞所絆住。記住:UML只是一組符號而已! ●先學習讀圖,讓自己先習慣於UML之各種符號,尤其注意UML中以擴充機制(Extensibility Mechanisms)所產生之符號,此部份最容易使初學者迷惑。 ●練習畫圖,訓練自已將心中之構想以UML符號呈現出來,注意各類符號之正確表示法,不要隨意更改之。 ●選用適當之CASE工具,Rationa˙Rose,Microsoft Visio,Borland Together都是很好的軟體工具。 如何應用UML於軟體開發? ●選擇一個適當之開發程序(Process),例:RUP ●選擇一個適當之UML發展工具,例:Rationa˙Rose ●相關人員接受完整之訓練
|