2013-02-28 26 views
2

您將如何在UML中建模以下狀態:如何在UML中建立既是實體對象又是演員的概念?

餐廳管理系統由服務員用來跟蹤 服務於表格。它也用於跟蹤哪個服務員服務哪個表。

這意味着,一個服務員的概念既是演員(如 侍應生系統的用戶)和一個實體對象(因爲 系統跟蹤哪些服務員提供哪些表)。

然而根據UML一個概念不能既是實體和 演員因爲根據定義,「一個演員是與系統交互的外部實體」。

我總是可以使用不同的名稱來區分這些概念,但 似乎是人爲的。

您認爲如何?

回答

2

enter image description here

該系統的代表服務員實體是不一樣的實際服務員誰是作用在系統上的外部代理。

要麼使用不同的名稱,要麼將actor和entity放在不同的名稱空間或模型中。

+0

是的,我同意這一點,我是這麼做的(使用'Table Attendant'爲演員,'Waiter'爲實體對象)。 – 2013-03-03 14:35:09

1

僅僅因爲服務員使用系統並不會強迫您將該演員命名爲「服務員」。考慮可能以相同方式使用該系統的其他員工,例如主持人/女主人或輪班經理。

使用該系統的參與者通常履行可以在不同參與者之間共享的角色。你必須概括演員扮演的角色。如果任何員工都可以參與該用例,則角色可能是「員工」。

即使你沒有采取這種方法,你仍然有其他同義詞來區分實體和演員。演員可能是'服務員',實體可能是'服務器'。特別是對於經常使用的術語來說,值得花時間提出一些好名字。如果涉及到它,忘記了UML使用不同名稱的「說法」。人們一直在使用UML的一些東西,因爲它出來後,如果你決定重用一個名字,沒有人會關閉你。

我想說的是UML是想給你一些好的建議,如果您使用的是相同的名稱,它會導致以後的問題,也是一個跡象表明有更多的故事。

+0

的確,但角色是服務/參加表格,這是服務員的另一個名稱。所以我認爲在這種情況下,最好使用不同的同義詞將演員與實體分開。 – 2013-03-03 14:38:07