餐飲系統大拆解,用類圖拆解套餐和桌臺信息(2)

2 評論 3915 瀏覽 15 收藏 9 分鐘

編輯導讀:UML既是圖,更是個思考工具,能夠提升文檔質量。本文作者通過梳理餐廳的套餐和桌臺,來說明類圖的作用,希望對你有幫助。

這是餐廳系統拆解第二篇。在上一篇中,我們用類圖表達了員工之間的關系,以及每個員工的工作。有人說這么做沒必要,用腦圖不也一樣嗎?

這是不對的,產品經理的文檔考慮不周和不嚴謹,就是因為沒有學會UML,UML既是圖,更是個思考工具,TA能提升你的文檔質量。

下面,我們通過梳理餐廳的套餐和桌臺,來說明類圖的作用,并學習一些《圖解產品》中未講到的內容。同樣閱讀本文需有《圖解產品》一書的知識背景。

01 兩個“多余”的類圖

產品經理要給“老夫牛腩”餐廳開發餐飲軟件,這就要梳理餐廳菜單,并將其用于后臺的菜品管理中。

餐廳是以賣套餐為主,套餐內有沙拉、湯、開胃菜、主菜和甜點,用類圖表示如下。

產品經理還要梳理餐廳的桌臺信息,并用于后臺的餐桌管理中,甩類圖表示如下。

有人認為這兩個類圖就是樹狀結構,用腦圖也一樣,但這是錯誤的。兩個圖的問題很多,很容易被研發挑戰。

下面就是女研發小蒼挑戰男產品經理小黃的過程。

02 研發挑戰產品經理

小蒼問:“小黃,行啊,類圖都會畫,但請問他們上菜有沒有先后次序?”

小黃尷尬幾秒,說:“小蒼,不好意思,我沒想到啊,我問問餐廳?!?/p>

小黃趕緊抓起電話問,之后告訴小蒼說:“他們是有上菜順序的,他們是先上開胃菜,再上主菜,之后上甜點?!?/p>

小蒼微微一笑:“辛苦小黃了,再問個問題啊,套餐內有沒有二選一的?”

小黃不悅,怎么不一次把話說完?“小蒼,實在不好意思,我又沒想到啊,我再問問去?!?/p>

小黃又抓起電話問,之后又告訴小蒼:“他們上菜是有二選一的,沙拉和湯就要二選一?!?/p>

小蒼最后問:“辛苦小黃了,最后一個問題啊,1個桌子可以屬于N個服務區嗎?”

這次小黃憤怒了:“小蒼同學,1個桌子只能屬于1個服務區啊,怎么可能屬于N個服務區??!有沒有常識?”

小蒼也怒了:“但你畫的符號是說,1個桌子可以屬于N個服務區??!是你錯了!”。

“你這是在找茬!”小黃大怒,摔門而去。

故事講完了,一方面小蒼在有意為難小黃,另一方面也是小黃學藝不精,總是考慮不周。

為什么小蒼要為難小黃?文末有答案。小黃的問題是什么?下面給出答案。

03 用約束關系,將事情考慮全

兩個類之間可以有約束關系,具體說就是有“先后關系”以及“或的關系”。

1.先后關系:套餐要求上開胃菜,再上主菜,再上甜點,這三個類就有“先后關系”,或稱開胃菜先于主菜。

2.或的關系:套餐中的沙拉和湯兩個菜就要二選一,這兩者就是“或的關系”。

如何表達?如下圖所示。

圖中的虛線表達了兩個類之間有關系,虛線上的字表達了具體關系,可寫上“先于”,“或”等字樣。

回顧小蒼和小黃的對話,如小黃知道類之間還有約束關系,就不至于丟三拉四。

需要說明的是,UML的標準寫法是“{先于}”,也就是說要加“{}”。UML制造了太多的符號,雖然嚴謹但卻讓人困惑,很多專家都反對。所以我的圖中沒有加“{}”,你也不用加。

04 用聚合和組成,將事情考慮準

《圖解產品》中描述了類的“聚合與組成”,兩者區別微小,但卻重要??催^書的朋友,想想上圖的問題是什么?沒看過書的朋友,我做個簡單說明。

類之間聚合關系強調了兩個類有大與小,整體與部分關系。如“公司—>部門”和“部門—>員工”就都是聚合關系。而后臺也要按此設計,即公司下掛部門,部門下掛員工,而不是反過來。

但是有些聚合是強聚合,這種強聚合被稱為“組成”,組成關系是說兩者是“同生共死”的。

如桌子和桌腿首先是“聚合”關系,這表明了兩者的大與小,整體與部分的關系。但如桌腿沒了,桌子也就不完整,兩者就是同生共死的,更準確地說兩者是“組成”關系。

聚合關系是空心菱形,組成關系是黑心菱形,分別如下圖。

區分聚合和組合的原因還是兩者的原型圖會不同。如部門和員工是“聚合”關系,則員工還可以在其他部門兼職,則要支持員工設置部門時復選;如果部門與員工是“組成”關系,則該員工就不能屬于多個部門,則要支持單選。

而對于本案例,服務區與桌子之間顯然是組成關系,一個桌子不能屬于多個服務區,這是自然的,但小黃用的卻是聚合關系。

因此,小蒼才會和小黃確認兩個類之間的關系,避免做錯。聚合和組成的其他知識請見《圖解產品》。

好了,這就是今天的內容??傊?,一個類圖可以有或、先后、聚合和組成等關系,產品經理必須都知道,這能讓你考慮周全,用詞準確,避免研發返工,并最終指導原型設計。

TIPS

姜文在拍《鬼子來了》時,日本鬼子都用中學生,因為二戰日本軍人平均身高不到一米六,如用成人就很別扭,姜文很較真。產品經理也應對UML較真,從而寫出優秀文檔。

相關閱讀:

餐飲系統大拆解:用類圖拆解員工結構與工作職責(1)

 

作者:擎蒼,《“圖解”產品:產品經理業務設計與UML建?!纷髡?,公眾號:圖解產品設計

本文由 @圖解產品設計 原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 按照圖上畫的一個桌子是屬于一個服務區啊。一個服務區有1至 多個桌子,一個桌子只有一個服務區。

    來自山東 回復
  2. UML既是圖,更是個思考工具,TA能提升你的文檔質量??偨Y到位。

    來自中國 回復