面向對象分析之三個子模型與五個層次


  面向對象建模得到的模型包含系統的3個要素:靜態結構(對象模型)、交互次序(動態模型)和數據變換(功能模型)。

  這三個模型解決的問題不同,其重要程度也不同:幾乎解決任何一個問題,都需要從客觀世界實體及實體間相互關系抽象出極有價值的對象模型;當問題涉及交互作用和時序時(比如,用戶界面及過程控制等),動態模型很重要;解決運算量很大的問題(比如,高級語言編譯科學與工程計算等),則功能模型更重要。

  復雜問題(大型系統)的對象模型可以由下面五個層次組成:主體層類與對象層結構層屬性層服務層。這5個層次就像疊在一起的5張透明塑料片,它們一層比一層顯現出對象模型的更多細節。

  建立對象模型

  面向對象分析首要的工作,是建立問題域的對象模型。這個模型描述了現實世界中的“類與對象”以及它們之間的關系,表示了目標系統的靜態數據結構。靜態數據結構對應用細節依賴較少,比較容易確定;當用戶的需求變化時,靜態數據結構相對來說比較穩定。因此,用面向對象方法開發絕大多數軟件時,都首先建立對象模型,然后再建立另外兩個子模型。

  對象模型通常有5個層次,基本的工作步驟是:首先確定對象類和關聯(因為它們影響系統整體結構和解決問題的方法),對於大型復雜問題還要進一步划分不同主題;然后給類和關聯添加屬性,目的為進一步描述它們;接下來利用適當的繼承關系進一步合並和組織類。而對類中操作的最后確定,則需要等建立了動態模型和功能模型之后,因為這兩個子模型更准確地描述了對類中提供的服務的需求。

 建立動態模型

  第一步,編寫典型交互行為的腳本。雖然腳本中不可能包括每個偶然事件,但是,至少必須保證不遺漏常見的交互行為。

  第二步,從腳本中提取出事件,確定觸發每個事件的動作對象以及接受事件的目標對象。

  第三步,排列事件發生的次序,確定每個對象可能有的狀態及狀態間的轉換關系,並用狀態圖描繪它們。

  最后,比較各個對象的狀態圖,檢查它們之間的一致性,確保事件之間的匹配。

  順便解釋一下什么是腳本,“腳本”原意是指“表演戲曲、話劇、拍攝電影、電視劇等所依據的本子,里面記載台詞、故事情節等”。

  在建立動態模型的過程中,腳本是指系統在某一執行期間內出現一系列事件。

  建立功能模型

  功能模型表明了系統中數據之間的依賴關系,以及有關的數據處理功能,它由一組數據流圖組成。其中的處理功能可以用IPO圖(或表)、偽碼等多種方式進一步描述。通常在建立對象模型和動態模型之后再建立功能模型。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM