日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

高焕堂《嵌入式UML设计》读书笔记_第三章

發布時間:2024/1/1 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高焕堂《嵌入式UML设计》读书笔记_第三章 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第三章 UML如何表現Whole-Part結構

為什么要討論Whole-Part

在第一章中已經介紹過,將應用程序分割成許多小塊(即:組件),在使用時可以隨意調換其中一個或多個組件,以實現組件的快速淘汰和重組,從而快速滿足客戶的特殊需求或新需求。
這也就是說將應用程序分為多個Part,再組合成一個Whole。

要想真正實現快速淘汰和重組的效果,Part就不能隨意劃分。Part的劃分要講究“有機次序”。只有“分”得好,才能“合”得快,合得妙。
所以,下面專門討論如何劃分Part。

劃分Part的常見原因和方法

我們可以分析Whole是否面臨如下情況,如果有,那我們就可以把這部分劃分出來,作為一個Part:

1 希望組合出多樣化的Whole

2 希望分散開發生產,加快Whole的組合速度

3 希望組件提前開發,縮短Whole的生產時間

4 希望可外購現成組件,以降低成本

5 希望專注做小組件,并大量生產

我們還可以從以下角度來洞悉“穩定”的部分和“變化”的部分,將“穩定”和“變化”劃分開,成為不同的Part:

1 根據客戶而分:

比如:大部分人喜歡加糖咖啡,但正在減肥的女士則喜歡無糖或低糖咖啡。所以咖啡是穩定的,糖是變化的。因此將糖和咖啡劃分開。

2 根據時間而分:

比如:汽車的車體在設計時就已固定,但汽車的顏色是在顧客購買時才確定的。因此將車體生產和車身上色劃分開。

Whole-Part關系分類

常見的三種組合關系分類

分類舉例符號
組合/部分房子和門
房子和窗戶
汽車和引擎
容器/內容汽車和司機
巴士和乘客
集合/成員雁群和大雁
東南亞總行程和香港觀光行程

Odell提出的組合關系分類

擔任過美國OMG主席的James Odell提出了一套關系分類方法,他根據3項特性將組合關系分為6種。

其中,3項特性分別是:配置、同質性、不變性。

配置:“部分”與“整體”有特定的功能和結構關系

同質性:“部分”與“整體”是一種東西

不變性:“部分”難以從“整體”中抽離出來

6種組合關系如下表:

說明:

1.我沒有搞明白“配置”這項特性到底如何理解,所以下表中沒法把對“配置”的解釋寫出來。

2.我個人認為這種分類方法過于繁瑣,不如前一種方法簡單明了。

3.我個人認為這種分類方法的3個特性中,不變性最為重要,因為是否具備不變性決定了使用哪種符號:不變使用composition,可變使用aggregation。

分類舉例配置同質性不變性符號
組件/整體對象的組合CPU和電腦
風扇和電腦
非同質:
CPU、風扇和電腦不是一種東西
可變:
CPU、風扇可以沖電腦中取出來
材料/對象的組合油和紅龜粿
糖和紅龜粿
糯米和紅龜粿
非同質:
油、糖、糯米和紅龜粿不是一種東西
不變:
油、糖、糯米一旦制成紅龜粿就沒法再取出來了
切割部分/對象的組合一塊餅干和一盒餅干同質:
一塊餅干和一盒餅干都是餅干
可變:
可以從一盒餅干中拿出一塊餅干
地方/地區組合東南亞總行程和香港觀光行程同質:
東南亞總行程和香港觀光行程都是行程
可變:
可以單獨進行香港觀光行程,從另一個角度看也可以從東南亞總行程中去掉香港觀光行程,這并不影響東南亞總行程的存在
成員/聚集組合
(同前一種分類法中的容器/內容)
會員與俱樂部可變:
會員可退出俱樂部,這并不影響俱樂部的存在
成員/合伙組合
(同成員/聚集組合的區別就在于不變性)
父母親一方和雙親家庭不變:
缺少父母親任一方就不再是雙親家庭了

總結

以上是生活随笔為你收集整理的高焕堂《嵌入式UML设计》读书笔记_第三章的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。