我目前正在從現有的C++代碼構建模型。有一個(動態加載)庫,因此必須實現/提供一個定義的接口(類)。所使用的類具有一些純虛函數,但它確實不是純粹的接口(在Java中),因爲它也是包含狀態(成員)和幾個方法實現的基類。Enterprise Architect&UML:選擇界面或抽象類時的微妙之處
因此,它是一種混合型的 - 在C++ 現實基類,但在其主要目的的接口。
注:我不打算生成一些代碼,但模型應該是正確的文件目的。
繪製在EA(12)的例子在,一些問題就出來了:
一)有沒有喜歡的一類,並使其「抽象」(灰箱「基地」任何重要原因),還是應該直接使用工具箱中的界面(紫色框「Base2」)?到目前爲止,除了顏色之外,我無法注意到EA中的任何行爲差異。
b)我怎樣才能抑制方法背後寫的原型{abstract}?當我做而不是將它們設置爲「抽象」時,它們不是用斜體字母繪製的。但我希望他們斜體,沒有「{抽象}」。
c)有關類/接口盒的類似問題:是不是按定義抽象的接口?那麼爲什麼EA會在這裏添加{abstract}文本?將類名稱用斜體表示就足夠了。 d)我猜最左邊的箭頭(基類的泛化)和最右邊的箭頭(界面的實現)是正確的,中間的不是。對?
你是誰?庫代碼的*用戶*或庫代碼的開發人員*? - 也許你應該創建*兩個*圖。 – JimmyB
「抽象」不是刻板印象。我想知道你是如何生產的? –
該文檔主要是出於監管原因(標準需要爲這類業務提供文檔化的軟件設計),當然,對於開發人員和我自己來說,動機是80:20。對於任何讀者來說,我知道每個選擇(抽象類/接口,有/沒有「{abstract}」都是絕對足夠的,但是因爲我剛剛開始EA來完成這項任務,所以我想從頭開始學習它在EA中,任何操作都可能對模型的另一部分造成影響,但在Visio這樣的純繪圖工具中並非如此。 – minastaros