終於拿Rumbaugh 的新書了

李先靜發表於2020-04-06

終於拿Rumbaugh 的新書<UML物件導向建模與設計(第2版)>了。物件導向的設計方法有多種,比較著名的就有Booch方法、Coad & Yourdon方法、Jocobson ( OOSE )方法、Rumbaugh ( OMT )方法、Wrifs-Brock ( 責任驅動法 )方法等等。唯有對Rumbaugh的方法情有獨鍾,幾年前就買了《物件導向建模與設計(影印版)》,重要的部分也看過幾遍。裡面的圖形不是用UML表示的,有些美中不足,一直期待Rumbaugh的新書出版。

 

大約是七八年前看過張海藩老師所編寫的《軟體工程導論》,裡面採用的是Rumbaugh的方法。那可能是我見到的第一本關於軟體工程的書,甚至可能是第一次知道軟體工程這個概念。對於學的是機械專業,僅寫過幾個小程式的我來說,第一次讀這樣的書,當時的感覺何止是震撼,所以印象極深。

 

Rumbaugh的方法強調的三個模型的建立:

 

物件模型。建立物件模型就是職責分配的過程,把系統的各種職責分配到具體的類上去。系統由哪些子系統組成,子系統又由哪些類組成,子系統與子系統的關係,類與類之間的關係。相對於動態模型而言,可以稱為靜態模型。類之間的關係僅限於繼承、組合、關聯等,這些關係都是靜態的,無論程式是否執行,這些關係都存在了。物件模型常用UML的類圖和包類來表現。

 

動態模型。動態模型描述是物件之間的協作關係,這些物件動起來,按照預定(類裡的描述)的方式執行,才能完成一件任務。其中還包括物件自身的狀態轉換,在一定的事件驅動下,物件的內部狀態轉換,在不同的狀態下,物件具有不同的表現行為。動態模型常用UML的序列圖、活動圖和狀態圖來表現。

 

功能模型。從系統外部,把系統當作一個黑盒,來考查系統的功能,能起到補充作用。系統的輸入和輸出,能很好的描述系統功能。功能模型通常用資料流圖來表現,描繪資料輸入、處理、輸出和儲存等。

 

雖然這種方法已經提出十幾年了,但並沒有過時。在目前流行的RUP中提到的4+1檢視(邏輯檢視(Logical View)過程檢視(Process View)物理檢視(Physical View)開發檢視(Development View)用例 use cases)和《軟體架構編檔》裡提到的3種檢視(模組檢視、元件聯結器檢視和分配檢視)裡,關於分析和設計的內容大部分仍然可以歸於這三個模型。

 

相關文章