DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> WEB網站前端 >> 關於網頁技巧 >> 統一建模語言UML輕松入門之基本概念
統一建模語言UML輕松入門之基本概念
編輯:關於網頁技巧     
  20 世紀80 年代,隨著面向對象技術成為研究的熱點,先後出現了幾十種面向對象的軟件開發方法。其中,Booch、OMT 和OOSE等方法得到了廣泛的認可。然而,采用不同方法進行建模不利於開發者之間的交流。而UML則統一了Booch、OMT 和OOSE 的表示方法,而且對其作了進一步的發展。1997 年,UML 被國際對象組織OMG采納為面向對象的建模語言的國際標准,它溶入了軟件工程領域的新思想、新方法和新技術。UML不限於支持面向對象的分析與設計,還支持從需求分析開始的軟件開發的全過程。數年來,UML憑借其簡潔明晰的表達方式、超凡脫俗的表達能力,一路殺將出來,為業界所廣泛認同!目前,在多數大型企業的正規化開發流程中,開發人員普遍使用UML進行模型的建立。作為一名軟件開發人員,我們必須學會UML。因為UML就是那個統一的"文字",統一的"度"、"量"、"衡",不理解UML,作為軟件設計統一王國的國民,將是艱難而痛苦的。

  作曲家會將其腦袋中的旋律譜成樂曲,建築師會將其設計的建築物畫成藍圖,這些樂曲、藍圖就是模型(Model),而建構這些模型的過程就稱為建模(Modeling)。軟件開發如同音樂譜曲及建築設計,其過程中也必須將需求、分析、設計、實現、布署等各項工作流程的構想與結果予以呈現,這就是軟件系統的建模。

  那麼為什麼要建模呢?經典答案是:建立大廈和建立狗窩的區別是建設狗窩不需要設計,要生產合格的軟件就要有一套關於體系結構、過程和工具的規范。

  OMG官方發布的UML的當前最高版本為2.0,可以從http://www.uml.org/上下載。

  UML由圖和元模型組成,圖是語法,元模型是語義。UML主要包括三個基本構造塊:事物(Things)、關系(Relationships)和圖(Diagrams)。本次連載我們將對UML的這些基本組成部分及UML工具和應用進行介紹,使讀者對UML形成初步的整體印象。在其後的幾次連載裡,再以數個實例對這些內容逐步展開。

  1.1 UML的基本構造塊

  1.1.1事物

  事物是是實體抽象化的最終結果,是模型中的基本成員,UML中包含結構事物、行為事物、分組事物和注釋事物。

  (1)結構事物(Structural things)

  結構事物是模型中的靜態部分,用以呈現概念或實體的表現元素,是軟件建模中最常見的元素,共有以下七種:

  類(Class):類是指具有相同屬性、方法、關系和語義的對象的集合;

  接口(Interface):接口是指類或組件所提供的服務(操作),描述了類或組件對外可見的動作;

  協作(Collaboration):協作描述合作完成某個特定任務的一組類及其關聯的集合,用於對使用情形的實現建模;

  用例(Use Case):用例定義了執行者(在系統外部和系統交互的人)和被考慮的系統之間的交互來實現的一個業務目標;

  活動類(Active Class):活動類的對象有一個或多個進程或線程。活動類和類很相象,只是它的對象代表的元素的行為和其他的元素是同時存在的;

  組件(Component):組件是物理的、可替換的部分,包含接口的集合,例如COM+ 、JAVA BEANS等;

  結點(Node):結點是系統在運行時存在的物理元素,代表一個可計算的資源,通常占用一些內存和具有處理能力。

  (2)行為事物(Behavioral things)

  行為事物指的是UML模型中的動態部分,代表語句裡的"動詞",表示模型裡隨著時空不斷變化的部分,包含兩類:

  交互(ineraction):交互是由一組對象之間在特定上下文中,為達到特定的目的而進行的一系列消息交換而組成的動作;

  狀態機(state machine):狀態機由一系列對象的狀態組成。

  (3)分組事物(Grouping things)

  可以把分組事物看成是一個"盒子",模型可以在其中被分解。目前只有一種分組事物,即包(package)。結構事物、動作事物甚至分組事物都有可能放在一個包中。包純粹是概念上的,只存在於開發階段,而組件在運行時存在。

  (4)注釋事物(Annotational things)

  注釋事物是UML模型的解釋部分。

  1.1.2關系

  關系是將事物聯系在一起的方式,UML中定義了四種關系:

  (1)依賴(Dependencies):兩個事物之間的語義關系,其中一個事物發生變化會影響另一個事物的語義;

  (2)關聯(Association):一種描述一組對象之間連接的結構關系,如聚合關系(描述了整體和部分間的結構關系);

  (3)泛化(Generalization):一種一般化-特殊化的關系;

  (4)實現(Realization) :類之間的語義關系,其中的一個類指定了由另一個類保證執行的契約。

  1.1.3圖

  圖是事物集合的分類,UML中包含多種圖:

  (1)類圖(Class Diagram):類圖描述系統所包含的類、類的內部結構及類之間的關系;

  (2)對象圖(Object Diagram):對象圖是類圖的一個具體實例;

  (3)包圖(Package Diagram):包圖表明包及其之間的依賴類圖;

  (4)組件圖(Compoment Diagram,也稱構件圖):組件圖描述代碼部件的物理結構以及各部件之間的依賴關系;

  (5)部署圖(Deployment Diagram):部署圖定義系統中軟硬件的物理體系結構;

  (6)用例圖(Usecase Diagram):用例圖從用戶的角度出發描述系統的功能、需求,展示系統外部的各類角色與系統內部的各種用例之間的關系;

  (7)順序圖(Sequence Diagram):順序圖表示對象之間動態合作的關系;

  (8)協作圖(Collaboration Diagram):合作圖描述對象之間的協作關系;

  (9)狀態圖(Statechart Diagram):狀態圖描述一類對象的所有可能的狀態以及事件發生時狀態的轉移條件;

  (10)活動圖(Activity Diagram):活動圖描述系統中各種活動的執行順序。

  上述十種圖可歸納為五類,如表1.1。

  表1.1 UML圖分類

類型包含靜態圖類圖、對象圖、包圖行為圖狀態圖、活動圖用例圖用例圖交互圖順序圖、協作圖實現圖組件圖、部署圖

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved