2009-09-23 30 views

回答

1

顯示在UML序列圖的私有方法是不可行的。我認爲我們應該只顯示公有方法吧..

5

不可以。您希望能夠在不影響外部任何內容的情況下更改內部(私人)操作。

如果您重構內部操作,那麼依賴於公共API的所有內容都應該不受影響。我會在這裏包含文檔。

編輯:更多的解釋,要求

你想客戶端類依賴於你的類的公共API。因此,你應該只記錄你的班級的公共元素。您希望在需要時自由地更改內部(私有)操作,而不會影響任何相關實體。

+0

請你多探討一下.. – 2009-09-23 12:29:14

+0

用於封裝。 – Rap 2009-09-23 12:40:46

1

一般是躲在士兵是你想做的事,因爲UML旨在顯示給定系統/模塊的公共API是什麼。雖然它也取決於UML的目的,但如果UML是供你自己使用的,而且當你看圖的時候你想看到這些人,那麼是的,就把它放在那裏。我已經打印出一些UML代碼,所以我可以看到它們,但那是爲我而設計的,並不是爲其他用戶提供的文檔。

3

(以下答案假設您並未嘗試尋找可執行模型 - 即從UML生成代碼 - 但使用模型來幫助規範工作,這將由人員完成。)

所有型號都是「錯誤的」,但非常有用。根據定義,模型是對你正在嘗試構建的東西的不完整描述 - 爲房子和完成房子考慮藍圖。通過這種建模,模型應該只顯示您正在嘗試構建的系統的關鍵方面。

構成關鍵方面的是什麼?答案是,無論團隊需要知道如何構建真實的東西。在房屋藍圖中,電工只需知道插座的位置,以及關於負載和互連的一些關鍵細節。他不需要一個連接插座的模型;他知道。

因此,如果您的團隊需要了解私人業務,那麼請繼續前進並對其進行建模。在順序圖中,您可以通過向班級生命線發送一條消息返回自己來顯示自己的電話。

但是,如果私人操作不重要,請隨意將它們作爲無關細節離開序列圖。但是,我會建議您至少在模型中的類元素級別記錄所有操作。即使你只是給這個操作命名,你也記錄了一個事實,即你需要在某個時候填寫它。

相關問題