面向對象的分析過程可分為兩個階段,即論域分析階段和應用分析階段。
論域分析
論域分析是軟件開發的基本組成部分,目的是使開發人員了解空間的組成,建立大致的系統實現環境。論域分析給出一組抽象,從高層表示論域知識,常常超出當前應用的范圍,作為特定系統需求開發的參考。
論域分析實際上是一種學習,軟件開發人員在這個階段盡可以地理解當前系統與應用有關的知識。應放開思維,放寬考慮的領域,盡可能標識與應用有關的概念。論域分析的邊界可能很模糊,有了廣泛的論域知識,涉及到具體的應用時,就可以更快地進入情況,掌握應用的核心知識。而且,在用戶改變對目標系統的需求時,廣泛的分析可以幫助我們預測出目標系統在哪些方面會發生哪些變化。
通常進行小組分析,小組成員可以包括領域專家和分析員等。在分析過程中標識出系統的基本概念:對象、類、方法、關系等。識別論域的特征,把這些概念集成到論域的模型中。論域的模型中必須包含概念之間的關系,還有關於每個單獨概念的全部信息。這裡信息起一種膠合作用,把標識出的相關概念並入論域綜合視圖中去。
應用分析
應用分析是依據在論域分析時建立起來的問題論域模型,並把問題論域用於當前特定的應用之中。
首先,通過收集到的用戶信息來對論域進行取捨,把用戶需求作為限制來使用,縮減論域的信息量。因此,論域分析的視野大小直接影響到應用分析保留的信息量。
一般來說,論域分析階段產生的模型並不需要用任何基於計算機系統的程序設計語言來表示,而應用分析階段產生的影響條件則通過某種計算機系統的程序設計語言來表示。
模型識別的要求可以針對一個應用,也可以針對多個應用。通常我們著重考慮兩個方面,即應用視圖和類視圖。在類視圖中,必須對每個類的規格說明和操作進行詳細化,並表示出類之間的相互作用。