《大象:Thinking in UML》讀書筆記(1)爲什麼需要UML

1 面向過程

面向過程方法認爲我們的世界是由一個個相互關聯的小系統組成的。每個小系統都有明確的開始和結束,開始和結束之間有着嚴謹的因果關係。只要我們將這個小系統中的每個步驟和影響因素都分析出來,就能完全定義這個系統的行爲。

傳統商務模型

如上圖的傳統商務流程:

  • 消費者提交購買請求後,銷售部將數據傳遞給財務、生產線,併產生訂單;
  • 財務處理完成後更新訂單狀態;
  • 生產線根據訂單要求生產產品,並傳遞給物流;
  • 物流送貨完成,並更新訂單狀態之後,整個商務流程就結束了。

這個圖被稱爲DFD(Data Flow Diagram)圖,以圖形的方式描繪數據在系統中流動和處理的過程。

面向過程方法的困難:難以描述複雜系統。因爲面向過程將世界看作是過程化的,系統的各個部分之間存在密不可分的因果關係,在系統簡單的時候還可以應對,但在描述複雜系統時,系統的細微變化都將導致因果關係的重構。

2 面向對象

面向對象(Object Oriented)方法將世界看作一個個相互獨立的對象,相互之間並無因果關係,只有在外力驅動下,對象之間纔會依據某種規律相互傳遞信息。這種交互被稱爲過程,在沒有外力的情況下,對象則保持靜止。
面向對象具有封裝、繼承、多態等特點,對象具有屬性、方法、對象之間存在依賴、關聯、耦合等關係。對象需要能夠複用。面向對象還有一個非常重要的特性:抽象*。不誇張地說,抽象能力決定了面向對象裏的一切。

面向對象方法的困難:抽象。也就是說,抽象是面向對象的精髓,同時也是面向對象的難點。

3 UML定義

UML(Unified Modeling Language)翻譯爲統一建模語言,它定義了一些用於表達某種特定含義的基本元素,如用例、類等,這些基本元素被稱爲元模型;然後定義了這些元模型相互之間的關係的規則,以及如何用元模型繪製圖形以建立現實世界的映射,這些規則或圖形被稱爲視圖(View)
UML建立了軟件生命週期管理的統一語言,即一個需求從分析、設計,到開發、測試、部署等各階段的描述都可以採用UML語言進行,同時它採用可視化的方式呈現了系統的全貌,方便了不同階段不同角色之間的溝通與交流。

4 UML的過程

4.1 從現實世界到業務模型

也就是給現實世界的問題建立軟件模型。UML的方式包括:

  • 採用Actor元模型作爲信息來源的提供者,描述現實世界的人;
  • 採用用例(Use Case)來表示Actor的業務目標,通過業務場景、用例場景等UML視圖來描繪現實世界的規則。

4.2 從業務模型到概念模型

即把業務模型轉化爲可用以指導開發的表達方式。UML的實現方式包括:

  • 通過邊界類(boundary)分析系統的邊界,如Actor與系統的交互、系統與系統的交互、模塊與模塊的交互等;
  • 通過實體類(entity)表達業務實體,建立與業務實體的關聯,可以看成是業務實體的實例化結果;
  • 通過控制類(control)表達原始需求中的動態信息,即業務或用例場景中的步驟或活動。邊界類和實體類之間不可直接相互訪問,而需要通過控制類來代理訪問。

4.3 從概念模型到設計模型

即建立軟件所需要的所有組成內容及開發軟件所需要的所有必要細節。UML通過定義具體視圖(類圖、時序圖、活動圖等)將理想落入現實,使系統真正達到一個可以指導編碼的狀態。

5 RUP

RUP(Rationnal Unified Process)譯爲統一過程,是一種軟件方法,它採用面向對象思想,使用UML作爲語言,結合了項目管理、質量保證等許多軟件工程方法。
統一過程定義了軟件開發過程的四階段和九個核心工作流:

統一過程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章