系統層
在建立對象的信息模型時,首先要尋找出問題空間中人們關心的對象,即問題空間的對象(任何實際存在的,並且是在本系統中有意義的實體都可視為對象),並將一組具有共同行為和特徵的對象抽象為對象類。在對象的信息模型中,對象類用一個矩形框表示。
其中,“雇員”代表問題域中一組對象,即用來表示系統中各種雇員,如張蘭雇員、李四雇員等。在面向對象的專業術語中稱張三、李四為雇員類的實例對象。
系統中與其他對象沒有任何關係的對象是無任何意義的,對象只有在與其他對象的相互聯繫、相互依賴的關係中,才能明確其含義。關係建立了對象之間的一種邏輯連線,稱之為連線,在對象的信息模型中用一條線段來表示系統中對象之間的這種連線關係。
在現實世界中的這兩個擁有關係可能具有相同的意義,將這種關係集抽象為聯繫。在信息模型中用一條帶菱形的線段來表示。
聯繫可分為一對一、一對多、多對多等形式。
聯繫也可分為二元、三元、多元的聯繫等。
多元聯繫表達的含義比較複雜,而且實現起來比二元聯繫困難得多,所以在建模中要儘量避免多元聯繫〔按照資料庫的相關理論,多元聯繫均可轉化為多個二元聯繫)。模型中含義比較明確的聯繫也可以不給出聯繫名。
在對象的信息模型中,有兩種特殊的關係值得我們認真地加以研究:一種是繼承關係,另一種是組成關係。
(l)繼承關係:表達了共性與個性的關係,即一個類和它的一個或多個加細描述了的類之間的一種關係,被加細描述的類稱為超類、基類或父類,而已經細化T的類稱為派生類、子類。子類也是從父類派生而來。
一個類可繼承某個父類,其他的子類也可從它派生,這樣就形成了一個類層次的繼承關係圖,稱之為類層次結構(或類層次)。當一個類是從多個父類派生而來時,稱之為多繼承。
另一種非常重要的對象之間的關係是組成關係。
(2)組成關係表達了一種“整體一部分”之間的連線,反映了某一事物是由部分組成該整體對象這一概念,是一種強藕合的連線。
對象層
通過對每個對象和類描述其屬性及操作,來具體定義每個對象類,進一步描述對象類的細節。對象的性質可用兩方面來進行描述,一類是可以用值來表達的,稱之為屬性,反映對象存在的狀態;另
一類是通過對象的行為表現出來的,稱之為操作,反映對象存在的價值。對象和類是屬性和操作的有機封裝體。
屬性是描述類的數據單元,一定是附加在某個對象上的。例如,人有姓名、年齡、學歷、身高等屬性。每個實例對象的每個屬性都有一個值,對給定的屬性,不同的實例對象可以有相同的值,也可以有不同的值。例如,張三、24歲、大學畢業、56公斤;李四、24歲、高中畢業、65公斤。通常在現實間題中,對象與屬性之間的這種隸屬關係是相當直觀的.但在有繼承關係的對象的信息模型中,有一個屬性定位問題,一般來講,如果有通用的和特殊的屬性,則將通用屬性放在類層次的高層,而只將特殊的放在低層。如果一個屬性適用於大多數的子類,可將其放在通用的父類中,然後,在不需要的子類中把它覆蓋。
操作是定義在類上的一組實現步驟,類的外部只能通過類所提供的這組操作來訪問其數據部分。操作完成一定的功能,所以,操作使對象呈現出一定的行為。例如,圓類具有顯示、隱蔽、平移、縮放等操作,這些操作表現了圓類的行為。操作只能作用在它所屬的對象(稱為目標對象)上,而且這種隸屬關係一般也是明確的。同屬性一樣,也將通用的操作放在類層次的上層,而將特殊的操作放在下層。
一個對象的屬性和操作是非常多的。如人有姓名、年齡、學歷、籍貫、身高、體重、頭髮的形狀、皮膚的顏色、婚姻的狀態等。在抽象問題時,只關心在本系統中有意義的屬性和操作,否則就不必定義它.例如,在人事檔案管理系統中,只關心人的姓名、年齡、學歷、籍貫和婚姻的狀態等,並不關心人的頭髮的形態、皮膚的顏色等.這樣,可為每個對象類建立一個描述面向對象信息模型第二層的類和對象模板。
系統中所有類的類和對象描述模板構成了對象的信息模型的第二層。
操作層
在面向對象的信息模型中,對每個對象類中的每個屬性給出詳細定義(如屬性的類型、限制等)。例如,人的年齡用整形數表示,年齡的值在O到200之間,對每個對象類中的每個操作給出其詳細的接口.描述和操作的定義。例如,操作的參數、返回類型的說明,操作體用程式流程圖或較形式化的PDL語言等形式詳細給出其定義。這樣就構成了對象關係模型第三層的細節描述。