面向物件分析 - OOAD



在軟體開發的系統分析或面向物件分析階段,確定系統需求,識別類並識別類之間的關係。

三種用於面向物件分析的分析技術相互結合使用,它們是物件建模、動態建模和功能建模。

物件建模

物件建模以物件的形式開發軟體系統的靜態結構。它識別物件、物件可以分組成的類以及物件之間的關係。它還識別表徵每個類的主要屬性和操作。

物件建模的過程可以視覺化為以下步驟:

  • 識別物件並將其分組為類
  • 識別類之間的關係
  • 建立使用者物件模型圖
  • 定義使用者物件屬性
  • 定義應該對類執行的操作
  • 審查詞彙表

動態建模

在分析了系統的靜態行為之後,需要檢查其相對於時間和外部變化的行為。這是動態建模的目的。

動態建模可以定義為“描述單個物件如何響應事件的方式,無論是其他物件觸發的內部事件,還是外部世界觸發的外部事件”。

動態建模的過程可以視覺化為以下步驟:

  • 識別每個物件的狀態
  • 識別事件並分析操作的適用性
  • 構建動態模型圖,包括狀態轉換圖
  • 用物件屬性表示每個狀態
  • 驗證繪製的狀態轉換圖

功能建模

功能建模是面向物件分析的最後一個組成部分。功能模型顯示在物件內執行的過程以及資料在方法之間移動時如何發生變化。它指定物件建模的操作和動態建模的動作的含義。功能模型對應於傳統結構化分析的資料流圖。

功能建模的過程可以視覺化為以下步驟:

  • 識別所有輸入和輸出
  • 構建顯示功能依賴關係的資料流圖
  • 說明每個功能的目的
  • 識別約束
  • 指定最佳化標準

結構化分析與面向物件分析

結構化分析/結構化設計 (SASD) 方法是基於瀑布模型的傳統軟體開發方法。使用 SASD 開發系統的階段為:

  • 可行性研究
  • 需求分析與規格說明
  • 系統設計
  • 實施
  • 實施後審查

現在,我們將看看結構化分析方法和麵向物件分析方法的相對優勢和劣勢。

面向物件分析的優勢/劣勢

優勢 劣勢
關注資料而不是像結構化分析那樣的過程。 功能在物件內受到限制。這可能對本質上是過程性的或計算性的系統造成問題。
封裝和資料隱藏原則幫助開發人員開發無法被系統其他部分篡改的系統。 它無法識別哪些物件會生成最佳的系統設計。
封裝和資料隱藏原則幫助開發人員開發無法被系統其他部分篡改的系統。 面向物件模型不容易顯示系統中物件之間的通訊。
它透過模組化有效地管理軟體複雜性。 無法在一個圖中表示物件之間所有介面。
與遵循結構化分析的系統相比,它可以更容易地從小型系統升級到大型系統。

結構化分析的優勢/劣勢

優勢 劣勢
由於它遵循自頂向下的方法,與面向物件分析的自底向上方法相反,因此它比 OOA 更易於理解。 在傳統的結構化分析模型中,一個階段應在下一個階段開始之前完成。這在設計中提出了一個問題,特別是在出現錯誤或需求發生變化時。
它基於功能。識別總體目的,然後進行功能分解以開發軟體。這種強調不僅使人們更好地理解系統,而且產生了更完整的系統。 構建系統的初始成本很高,因為需要一次性設計整個系統,幾乎沒有後期新增功能的選項。
其中的規範是用簡單的英語編寫的,因此非技術人員更容易分析。 它不支援程式碼重用。因此,開發時間和成本固有地較高。
廣告

© . All rights reserved.