UML複習系列之一(基本概念)【原創】

 
UML複習系列之一(基本概念)【原創】
1.UML簡介
UML (Unified Modeling Language統一建模語言)是一種可視化的建模語言,它能讓系統構造者用標準的、易於理解的方式建立起能夠表達出他們想象力的系統藍圖,並且提供一種機制,以便於不同的人之間有效地共享和交流設計結果。
UML是一套系統的“圖”表示法,通過各種不同的“圖”產生出系統“模型”(一種易於使用和易於理解的對象模型)。UML模型只說明一個系統應該做什麼,並沒有告訴我們應該怎麼做。
2.面向對象簡介
以對象爲中心,以類和繼承爲構造機制,充分利用接口和多態提供靈活性,來抽象和描述客觀世界,並由此設計和構建出相應的系統。基於構建的軟件開發方法就是面向對象技術孕育出來的。
相關概念:對象,類,抽象,繼承,多態,封裝,接口。
對象:數據(對象屬性描述)和操作(對象行爲描述)的封裝體。
類:具有共同屬性特徵和行爲特徵的對象的抽象描述。
多態:在運行時刻決定執行代碼的技術。
接口:對操作規範的說明。
構建:一個物理的、可替換的系統部分,它表現了一個接口集合。
3.UML中的類圖
由一個矩形表示。類名、屬性、操作、職責(描述類是做什麼的)都在區域各自的方框中。
可以在類圖中指定屬性的類型和初始值,操作的參數和參數類型。
類之間的關係:
A.關聯:類之間由連接關係,每個類都扮演某種角色。:實線
B.繼承:子類和父類的關係。(UML中也稱之爲“泛化”):空心箭頭的實線
C.依賴:一個類操作的型構中用到了另一個類的定義。:箭頭虛線
D.聚集:一個類由幾個部分組成(如個人電腦包括CPU,主板,磁盤,內存,鼠標鍵盤等)
E.組成:表示強類型的聚集,每個聚集的部分只能屬於一個整體
F.接口:描述類的部分行爲的一組操作,是一個類提供給另一個類的一組操作
  (舉例:汽車的方向盤控制,我們並不需要知道其中的傳動原理,只關係它的操作)
G.實現:一個類和它的接口之間的關係
  說明:一個類可以實現多個接口,一個接口也可以被多個類實現
  接口和依賴舉例:
  洗衣機-----------△ 洗衣機控制器(接口)←-----------
          接口                                 依賴
4.用例圖
用例是幫助分析員和用戶確定系統使用情況的UML組件,一組用例就是從用戶的角度出發對如何使用系統的描述。可以認爲用例是系統的一組使用場景,每個場景描述一個事件的序列,每個序列由一個人、或另一個系統、或一臺硬件設備、或時間的流逝所發起。發起事件序列的實體叫做“參與者”(actor)。
用例複用:從各個步驟序列中抽取出公共步驟形成一個每個用例都要使用的附加用例,我們也可以由此得到一個擴展用例
參與者、用例和互連線共同組成了“用例模型”,例如:
參與者--------系統(用例)--------參與者
用例的文檔描述:①發起用例的參與者②用例的假設條件③用例中的前置條件④場景中的步驟⑤場景完成後的後置條件⑥從用例中獲益的參與者
5.狀態圖
對象(或行爲元素)改變了自己的狀態(以響應事件或時間的流逝),這種表徵系統變化的方法即可用狀態圖。狀態圖只是對單個對象建立模型。
狀態圖的一些細節選項:入口動作、動作、其他動作或事件。引起轉移發生的事件叫做觸發器事件,也可以是無觸發器轉移。轉移細節可以添加保護條件(只有當條件滿足時,轉移才能發生)。
一個狀態可以由自己的子狀態,子狀態由兩種形式:順序子狀態併發子狀態
6.順序圖
順序圖由以下對象組成:對象用矩形框表示,消息用帶箭頭的實線表示,時間用垂直虛線表示。
A.對象:向下伸展的虛線叫做對象的生命線
B.消息:帶有實心箭頭的實線表示調用消息,空心箭頭的返回虛線叫做返回消息,異步消息用空心箭頭的實現表示。
C.時間:流逝自頂向下。
說明:順序圖中交互時間也可以做到複用!
7.協作圖
寫作圖是對象的擴展,處理展示出對象之間的關聯,還顯示出對象之間的消息傳遞。順序圖按照時間順序布圖,寫作圖按照空間組織布圖。
8.活動圖
用於簡化描述一個過程或者操作的工作步驟。活動序列到達某一點需要作出判定,然後執行一個併發路徑
涌道:表示每個角色負責的活動。可理解爲順序圖和活動圖的簡單結合。
9.構件圖(Component)
定義一個系統的功能。一個重要特徵是它具有潛在的複用性!處理構件的時候,必須處理構件的即可
10.部署圖:各個軟硬件系統的相互連接圖。
11.包圖
包給一組元素提供了一個命名空間(namespace),包之間關係可爲泛化、依賴等。
12.在開發過程中運用UML
傳統過程方法學:瀑布模型:分析(analysis),設計(design),編碼(coding)和部署(deployment)一個階段一個階段的進行,其缺點在於不利於項目開發過程中對問題的逐步理解是隨着開發過程的深入而增強的。
改進方法:快速應用工程指導原則(Guidelines for Rapid APPLication Engineering,GRAPPLE),下面作簡單介紹。
grapple有一下列段:
①需求收集(requirements gathering)
A.發現領域過程(產品:捕獲業務過程中的步驟和判定點的活動圖)B.領域分析(產品:高層的類圖和會談記錄)C.識別協作系統(產品:部署圖和軟件構件以及其依賴關係)D.發現系統需求(產品:包圖,需要進行聯合應用開發會議)E.將結果提交給客戶
②分析(analysis)
A.理解系統的用法(產品:一組用例圖)B.充實用例(產品:每個用例步驟的文本描述)C.細化類圖(產品:細化了的類圖)E.分析對象狀態變化(產品:狀態圖)F.定義對象之間的交互(產品:順序圖和協作圖)G.分析與協作系統的集成(產品:詳細的系統部署圖和數據模型)
③設計(design)
A.開發和細化對象圖(產品:對象圖和活動圖)B.開發構件圖(產品:構件圖)C.制定部署計劃(產品:部署圖)D.設計和開發用戶界面原型(產品:所有用例的完成)E.測試設計(產品:用測試腳本構成本動作的工作產品)F.開始編制文檔(產品:文檔編制員和開發人員共同編制文檔,制定每個文檔的高層結構)
④開發(development)
A.編制代碼(產品:代碼)B.測試代碼(產品:單元測試,繼承測試,系統測試等)C.構建用戶界面和用戶界面到代碼的連接和測試(產品:帶有用戶界面的功能系統)D.完成文檔(產品:所有文檔)
⑤部署(deployment)
A.編制備份和恢復計劃(產品:備份和恢復計劃)B.在硬件上安裝最終系統(產品:安全部署好的計算機系統)C.測試安裝後的系統(產品:測試後的工作產品)D.慶祝(產品:新系統產生)
13.UML下篇將介紹建模工具Visio 和 Rose的簡單使用,敬請關注,^_^
14.天衣有縫 原創,轉載請保留完整文檔,深圳南山科技園2004.12.25 18:10:00 Merry christmas!
 
發佈了41 篇原創文章 · 獲贊 1 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章