面向對象分析方法(Object-Oriented Analysis,簡稱OOA)是一種在系統開發過程中,基於面向對象編程(OO)的原理來分析問題的方法。它強調在系統調查資料的基礎上,對對象和類進行歸類分析和整理,而不是僅僅分析管理業務的現狀和方法。OOA是面向對象方法(OO)中的一個重要環節,它涉及到對系統的需求進行模組化處理,描述問題的本質,區分不同點與相同點,並確定系統中的對象。
OOA方法包括五個層次和五個活動:
五個層次:
主題層:定義系統的主題或領域。
對象類層:定義系統中的對象類。
結構層:定義對象類之間的結構關係,如分類結構和組裝結構。
屬性層:定義對象的屬性。
服務層:定義對象的服務或訊息連線。
五個活動:
標識對象類:識別和定義系統中的對象類。
標識結構:定義對象類之間的結構關係。
定義主題:確定系統的主題或領域。
定義屬性:識別和定義對象的屬性。
定義服務:識別和定義對象的服務或訊息連線。
OOA的核心原則包括抽象原則,它涉及到過程抽象和數據抽象兩個方面。過程抽象是指將完成特定功能的操作序列視為一個整體,而數據抽象則是根據施加於數據上的操作來定義數據類型,並限定數據的值只能由這些操作來修改和觀察。
OOA方法與結構化分析有較大區別,它不僅僅是對管理業務現狀和方法的分析,而是更側重於從系統調查資料中提取針對OO方法所需的素材,進行歸類分析和整理。這些層次和活動在面向對象的設計(OOD)過程中繼續發揮作用,貫穿於整個面向對象軟體開發的生命周期。