UML之Brooch方法

在學習UML(Unified Modeling Language)過程中遇到:
[size=small][color=blue][i] UML是由世界著名的面向對象技術專家Grady Booch ,Jim Rumbaugh 和 Ivar Jacobson發起,在著名的Booch方法、OMT方法和OOSE方法的基礎上,廣泛徵求意見,集重家之長,幾經修改而完成的。[/i][/color][/size]
在這段話中,"Booch方法"引起我的注意,於是,Google了一下。翻出了關於Booch方法的如下敘述:

Grady Booch所提出的方法,其分析與設計過程包括以下步驟:
  1. 在給定的抽象層次上識別類和對象;
  2. 識別這些對象和類的語義;
  3. 識別這些類和對象之間的關係;
  4. 實現類和對象。
  這四種活動不僅僅是一個簡單的步驟序列,而是對系統邏輯和物理視圖不斷細化的迭代和漸增的過程。
  類和對象的識別包括找出問題空間中關鍵的抽象和產生動態行爲的重要機制,開發人員可以通過研究問題域的術語來發現關鍵的抽象。
  語義的識別主要是明確前一階段所識別出的類和對象的含義,開發人員確定類的行爲(即方法)和類及對象之間的互相作用(即行爲的規範描述)。該階段利用狀態轉移圖描述對象狀態的模型,利用時態圖(系統中的時態約束)和對象圖(對象之間的互相作用)描述行爲模型。
  在關係識別階段描述靜態和動態關係模型。這些關係包括封裝、實例化、繼承、關聯和聚集等。類和對象之間的可見性也在此時確定。
  在類和對象的實現階段要考慮如何用選定的編程語言實現,如何將類和對象組織成模塊。
  Booch方法提供了豐富的符號體系,包括:類圖(類結構,靜態視圖)、對象圖(對象結構、靜態視圖),狀態轉移圖(類結構、動態視圖),時態圖(對象結構、動態視圖),模塊圖(模塊體系結構),進程圖(進程體系結構)等。用於類和對象建模的符號體系使用註釋和不同的圖符(如不同的箭頭)表達詳細的信息。Booch本人曾建議在設計的初期可以用符號體系的一個子集,隨後不斷添加細節。對每一個符號體系還有一個文本的形式,由每一個主要結構的描述模板組成。符號體系由大量的圖符組成,但其語法和語義並沒有嚴格地定義,有較大靈活性。
  Booch方法強調基於類和對象的系統邏輯視圖與基於模塊和進程的系統物理視圖之間的區別

Coad/Yourdon方法

Peter Coad和Edward Yourdon的方法嚴格區分了面向對象分析(OOA)和麪向對象設計(OOD)。
  在分析階段,該方法用五個層次及相關活動定義並記錄系統行爲,以及系統的輸入和輸出。這五個層次及活動如表1所示。
  
              表1 Coad/Yourdon方法中的OOA層次模型
[img]http://www.longen.com/a-d/Brooch(oo)Method.gif[/img]
  經過五個層次的活動後,分析結果是一個分成五個層次的問題域模型,包括主題、類及對象、結構、屬性和服務五個層次,由類及對象圖表示。五個層次活動的順序並不重要。
  在設計階段,OOD模型是OOA模型的擴展。OOD模型同樣包括OOA模型的五個層次,但同時又引進了四個部分:
  · 問題域部分(PDC):面向對象分析的結果直接放入該部分。
  · 人機交互部分(HIC):包括對用戶分類、描述人機交互的腳本、設計命令層次結構、設計詳細的交互、生成用戶界面的原型、定義HIC類等。
  · 任務管理部分(TMC):識別任務(進程)、任務所提供的服務、任務的優先級、進程的驅動模式,以及任務與其它進程和外界如何通信等。
  · 數據管理部分(DMC):確定數據存儲模式,如使用文件系統、關係數據庫管理系統還是面向對象數據庫管理系統等。
  Coad/Yourdon方法強調技術獨立性,從而實現了包括OOA/OOD本身在內的可複用性。例如,當一個給定的應用系統從圖形用戶界面(GUI)升級到聲音響應接口時,只需替換其中的人機交互部分,其他部分均無需改動,因爲用戶界面技術的改變對系統的其他部分是透明的。

Jacobson方法

Jacobson方法--OOSE(Object Oriented Software Engineering)涉及整個軟件生命週期,包括需求分析、設計、實現和測試等四個階段。
  在Jacobson方法中需求分析和設計密切相關。需求分析階段的活動包括定義潛在的角色(指使用系統的人和與系統互相作用的軟、硬件環境),識別問題域中的對象和關係,基於需求規範說明和角色的需要發現use case,詳細描述use case。設計階段包括兩個主要活動:從需求分析模型中發現設計對象,以及針對實現環境調整設計模型。第一個活動包括從use case的描述發現設計對象,描述對象的屬性、行爲和關聯,並把use case的行爲分派給對象。
  在需求分析階段的識別領域、對象和關係的活動中,開發人員識別類、屬性和關係。關係包括繼承、關聯、聚集和通訊。隨後,定義use case的活動和識別設計對象的活動,兩個活動共同完成行爲的描述。Jacobson方法還將對象區分爲語義對象(領域對象)、界面對象(如用戶界面對象)和控制對象(處理界面對象和領域對象之間的控制)。
Jacobson方法提出並特別強調了use case的概念。use case是指行爲相關的事務(transaction)序列,該序列將在用戶與系統交互時執行。因此,每一個use case就是一個使用系統的方式,當用戶給定一個輸入,就執行一個use case的實例並引發執行屬於該use case的一個事務。基於這種系統視圖,Jacobson將use case模型與以下五種系統模型相結合:
  · 領域對象模型:根據領域來表示use case模型。
  · 分析模型:通過分析來構造use case模型。
  · 設計模型:通過設計來具體化use case模型。
  · 實現模型:依據具體化的設計來實現use case模型。
  · 測試模型:用來測試具體化的use case模型。
  Use case描述的是現實世界中的一項具體任務如何由一個軟件系統來支持,利用use case,需求人員(用戶)能夠將其要求映射到對象模型中,從而有效地架起了需求人員(用戶)、系統分析人員和應用程序開發人員之間交流溝通的橋樑。

P.S.:原文引用地址:http://www.longen.com/a-d/Brooch(oo)Method.htm
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章