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