1.對象定義規(guī)格的求精過程
對于O0A所抽象出來的對象類以及匯集的分析文檔,0OD需要有一個根據(jù)設計要求整理和求精的過程,使之更能符合OOP的需要。這個整理和求精過程主要有兩個方面:一是要根據(jù)面向對象的概念模型整理分析所確定的對象結構、屬性、方法等內容,改正錯誤的內容,刪去不必要和重復的內容等。二是進行分類整理, 以便于下一步數(shù)據(jù)庫設計和程序處理模塊設計的需要。整理的方法主要是進行歸類,對類、對象,屬性,方法和結構,主題進行歸類。
2.數(shù)據(jù)模型和數(shù)據(jù)庫設計
數(shù)據(jù)模型的設計需要確定類或對象屬性的內容,消息連接的方式,系統(tǒng)訪問、數(shù)據(jù)模型的方法等。最后每個對象實例的數(shù)據(jù)都必須落實到面向對象的庫結構模型中。
每個對象都有自己的屬性和狀態(tài),我們需要把這個對象的屬性和狀態(tài)保存在數(shù)據(jù)庫中,那么最理想最簡單的情況,就是一個對象對應張物理表, 而對象之間的關聯(lián)關系(一對一,一對多,多對多)也可以簡單映射成數(shù)據(jù)庫的主一外鍵關系。但還有很多非數(shù)據(jù)庫關系需要考慮,如:繼承、聚合、依賴等。張表如何繼承自另一張表呢? 關系數(shù)據(jù)庫顯然沒有這樣的定義,這就需要用OR mapping來完成這種語義的轉換。例如,當實例化一個子對象時,OR -mapping負責從代表了“父”對象的表中讀出父對象屬性并將其賦值給子對象,并且當父對象變化時,OR-mapping需要把這一變化反映到所有 子對象實例。
3.優(yōu)化
象和結構的優(yōu)化、抽象、集成。00D的優(yōu)化設計過程是從另一個角度對分析結果和處理業(yè)務過程的整理歸納,優(yōu)化包括對
模塊符合一般模塊化所要求的且模塊之間期合度弱。集成化使得單個構件有機地結合在一起,對象和結構的模塊化表示00D提供了一種范式,這種范式支持對類和結構的模塊化。這種相互支持。
4.狀態(tài)圖
狀態(tài)圖表示某個類所處的不同狀態(tài)和該類的狀態(tài)轉換信息。每個類都有狀態(tài),但不是每個類都應該有一個狀態(tài)圖。只對“感興趣的”狀態(tài)的類(也就是說,在系統(tǒng)活動期間具有三個或更多潛在狀態(tài)的類)才進行狀態(tài)圖描述。
狀態(tài)圖的符號集包括5個基本元素:初始起點,它使用實心圓來繪制;狀態(tài)之間的轉換,它使用具有開箭頭的線段來繪制;狀態(tài),它使用圓角矩形來繪制;判斷點,它使用空心圓來繪制;以及一個或者多個終止點,它們使用內部包含實心圓的圓來繪制,如圖2-9所示。要繪制狀態(tài)圖,首先繪制起點和一條指向該類的初始狀態(tài)的轉換線段。狀態(tài)本身可以在圖上的任意位置繪制,然后只須使用狀態(tài)轉換線條將它們連接起來。
對象的狀態(tài)是由對象當前的行動和條件決定的。狀態(tài)圖(statechart diagram)顯示出了對象可能的狀態(tài)以及由狀態(tài)改變而導致的轉移。圖2-9表示一個銀行的在線登錄系統(tǒng)。登錄過程包括輸入合法的個人賬號和密碼,再提交給系統(tǒng)驗證信息。明港是個實界城,ofa1hoDhors.登錄系統(tǒng)可以被劃分 為四種不重疊的狀態(tài): Getting SSN、Getting PIN、Validating以及Rejecting.每個狀態(tài)都有一套完整的轉移transitions來決定狀態(tài)的順序。
在箭頭的旁邊。我們的圖上有兩個自轉移。一個是在Cting SN.另個則在 Gtting PIN上。狀態(tài)是用四角矩形來表示的。轉移則是使用帶箭頭的連線表示。觸發(fā)轉移的事件或者條件寫初始狀態(tài)(黑色圓圈)是開始動作的虛擬開始。結束狀態(tài)也是網站建設動作的虛擬結束。事件或條件觸發(fā)動作時用(動作)表示。當進人Validaing 狀態(tài)時,對象#不等外部事件觸發(fā)轉移。取而代之,它產生一個動作。動作的結果決定了下一步的狀態(tài)。
本文地址:http://m.blackside-inc.com//article/3713.html