Peter Coad引用Edward R. Tufte在1990年出版的《Envisioning Information》一書,說明顏色與資訊(information)的相關性上,顏色可以達到四個目的:分類(to label)、度量(to measure)、表現(to represent or imitate reality)與裝飾(to enliven or decorate)。

針對上述四點,Peter Coad也進一步提出他使用顏色建模的四個目的:

1. 分類—增加資訊的層級,例如相同特性的類別可以採用相同的顏色呈現出同層級的意涵。

2. 度量—指出時間遞增下的發展進度,像是利用顏色的不同亮度、漸層來顯示發展進度。

3. 表現—利用不同顏色表達不同的資訊種類,譬如四色原型中各個顏色表達不同的概念種類。

4. 裝飾—增添視覺上的衝擊或影響,不可諱言的是,採用顏色建模確實讓原先單調、枯燥的軟體模式,變得讓人耳目一新、賞心悅目多了。

此外,Peter Coad還嚴謹地引用了其他學者的論述,分別解釋為何採用四個顏色,而且為什麼挑選粉紅色、黃色、藍色與綠色這四個顏色。引用的論述中談到2~3個顏色已經足夠、5個顏色則嫌太多、4個顏色最剛好。至於,要挑選哪四個顏色,Peter Coad也參照了不同的顏色系統學,交叉比較之下,挑選了紅色、黃色、藍色、綠色這四個醒目的顏色。

不過,Peter Coad擔心放置其中的文字會因此而不容易閱讀,所以最後決定採用淡一些的顏色,所以使用了粉紅色、粉黃色、粉藍色、粉綠色。你要是有機會看到這本原文書,就會知道書中印刷的顏色確實是粉色系的,這樣一來,黑色的文字置於其中確實比較不會有看不清楚的狀況。Peter Coad確實用心良苦。

最後,在顏色與原型的配對上:由於時間片段原型是核心,所以給予最醒目的粉紅色;角色原型與人(組織)、地、物原型則分別給予黃色與綠色;至於,敘述原型它的責任簡單、變動性小,所以給予最平靜的藍色。
談到目前為止,看得出來,顏色建模確實有它的價值,不過實務上,恐怕有些為難之處。遇到了黑白列印或手繪的情況,顏色就成了多此一舉的附件了,這也是雖然Peter Coad提出顏色建模,但是四原型卻不能只是搭配顏色,而且還得搭配《moment-interval》之類字標的原因。

譬如,我在參與專案時,經常在白板上或白紙上跟成員討論類別圖,不可能要我真的拿四支色筆,一邊換色筆一邊畫圖討論吧,這多麻煩啊!還有,所有套用顏色建模的文獻,可能都得套色印刷。
比如Peter Coad的這本書,它的定價高昂,原因不在於這本書的內容如何,而在於它必須套色印刷,所以成本很難壓低,定價也就因此而跟著調漲了。

不過,話再說回來,除去顏色在目前實務上的限制外,Peter Coad書中所提出的四原型概念,倒是價值非凡,值得我們多花些時間去理解與應用。
交易樣式
書上提到,早在1992年9月,四原型的概念就被刊登在《Communications of the ACM》雜誌的“Object-Oriented Patterns”一文中,且於1995~1997年間出版的《Object Models: Strategies, Patterns, and Applications》一書中被擴大應用。

不過,1992年剛提出四原型概念時,並未加入顏色建模的概念,一直到1997年Peter Coad團隊才開始採用四色建模的方式。或許也正因為如此,所以《Java Modeling In Color With UML: Enterprise Components and Process》一書才得以在1999年問世,讓我們再次見到四原型加顏色建模的創意。

也就是說,雖然《Java Modeling In Color With UML: Enterprise Components and Process》一書比《Object Models: Strategies, Patterns, and Applications》晚出版,可是這本書中的四原型概念比交易樣式的概念還要早出現,交易樣式只是後生晚輩,拿四原型的概念來應用罷了。

進一步來說,Peter Coad在書中除了談到四色原型外,同時將這四色原型兜起來,形成一個更大更複雜的類別結構,稱為之「領域中立元件」(domain-neutral component),局部如圖1所示。


其實,我一見到書中的領域中立元件便覺得熟悉,因為它跟交易樣式的結構十分相似,局部如圖2所示。所以我推想,交易樣式非常可能是參考了領域中立元件的結構,然後再進一步提出關於交易樣式的見解的。不過,本文的重點不在交易樣式,所以理解它跟四色原型之間的關係即可,我們就不再細究交易樣式的內容了。下一期將進一步用Peter Coad在書中舉的範例,來解說如何運用四色原型。


作者簡介:
邱郁惠
研究OOAD、UML、MDA十餘年,經歷過顧問、專案、教學及寫作工作。離職後創辦UML Blog推廣UML,組織《UML互助會》社群定期舉辦軟體技術講座,出版多本UML專業書籍與電子書。目前擁有OCUP/UML三級認證、PMP認證。

延伸閱讀
沒時間讀 UML/OOAD 書之挑讀筆記 第1回 四色原型(1)
沒時間讀 UML/OOAD 書之挑讀筆記 第2回 四色原型(2)

熱門新聞

Advertisement