標籤:uml
標準 UML 有多標準?
標準 UML 的意義是什麼,以及為何標準沒有標準化像人們認為的那麼多事情。
定義 UML 核心
在 2000 年的 UML 世界中,我們小組討論是否應該為 UML 建立一個核心。SD 雜誌將其轉變為一篇令人驚訝的條理分明文章(沒有什麼比一位好的編輯更棒了!)看看我將核心縮小到多麼令人害怕的程度。
聚合與組合
UML 中很少有事情比聚合和組合引起更多驚恐,特別是它們與一般關聯的不同之處。
球窩
出現在 UML 2 中的新符號之一是插槽符號,用於顯示類別所需的介面。其起源是 Microsoft 推廣的「棒棒糖」符號,用於顯示實作多個介面的類別。因此,我可以這樣顯示 Array 類別實作多個介面。
類別圖上的集合
假設您有一個包含曲目 ArrayList 的專輯類別。您如何在 UML 類別圖中顯示它?
相依性和關聯性
相依性和關聯性之間的差異是什麼?
衍生資訊
您如何在 UML 中表示衍生資訊?
包含和延伸
UML 使用案例圖定義了一組使用案例之間的關係。最廣為人知的是包含和延伸。這兩個關係似乎比使用案例的任何其他部分,甚至 UML 中的任何部分都引發了更多問題。
類別圖中的局部變數
如何在 UML 類別圖中顯示局部變數(參數、暫存器等)?
模型驅動架構
有些人認為 模型驅動架構 (MDA) 將會是自組譯語言轉移到第一個高級語言以來,軟體開發中最大的轉變。其他人則認為這只不過是「活死人案例工具之夜」。我屬於後者,但覺得需要更多的不只是花言巧語。
模型驅動軟體開發
模型驅動軟體開發 (MDSD) 是一種軟體開發風格,它自認為是傳統程式設計風格的替代方案。此方法以建立軟體系統模型為中心。這些模型通常透過圖形設計符號來具體呈現,UML 是一個選項。這個想法是使用這些圖形,將你的系統指定給建模工具,然後以慣用的程式設計語言產生程式碼。
多重性而非基數
當資料建模方法討論關係時,它們使用術語基數來表示可以連結在一起的實體數量。因此,你可能會有訂單和客戶之間的關係,並表示該關係的基數是一對多。或者你可能會聽到訂單的客戶基數為 0 到多。
平台無關的濫用
關於 模型驅動架構 (MDA) 的一大主張是,它允許你在平台無關模型 (PIM) 中開發系統,然後可以將其轉換為 .NET 或 Java 等技術的平台特定模型 (PSM)。一位警覺的讀者應該會這樣說:「等等,Java 的重點不就在於平台無關嗎?那麼,我為什麼需要一些產生另一種平台無關技術的平台無關技術?」
UML 活動圖
在 UML 精華 中,我哀嘆沒有關於教授 UML 活動圖的好書。現在仍然沒有,但我最近遇到了 Conrad Bock 關於 UML 2.0 的文章。其中有一系列關於活動圖的文章,比我在精華中能夠涵蓋的內容更深入。(對於那些不知道的人來說,Conrad Bock 是 UML 2 中活動圖工作的領導者之一。)
UML 作為藍圖
很長一段時間以來,受工程影響的軟體流程一直在尋找一種表達軟體設計的方法,以便可以將設計移交給不同的群組來撰寫程式碼,就像在建造橋樑時使用藍圖一樣。這將允許稀有且昂貴的軟體設計師專注於藍圖,而許多較便宜的程式設計師則專注於施工。
UML 作為筆記
昨天我在一個程式碼庫中東翻西找,查看程式碼的領域模型部分。在探索程式碼庫時,我喜歡做筆記,以幫助我記住我學到的內容。對於某些程式碼庫,特別是領域模型,我發現繪製 UML 類別圖表很方便。
UML 作為程式語言
如果您能詳細說明 UML,並為軟體中所需的一切提供語意,則可以讓 UML 成為您的程式語言。工具可以採用您繪製的 UML 圖表,並將它們編譯成可執行程式碼。
這項承諾是 UML 是一種更高級的語言,因此比目前的程式語言更具生產力。
UML 作為草圖
在此 UmlMode 中,開發人員使用 UML 來幫助傳達系統的某些方面。與藍圖一樣,您可以使用草圖進行正向工程或逆向工程。正向工程在撰寫程式碼之前繪製 UML 圖表,而逆向工程則從現有程式碼中建立 UML 以幫助了解它。
UML 模式
在我查看 UML 2 時,我想到人們對於 UML 中應該包含什麼內容有不同的看法,因為對於 UML 應該是什麼,存在不同的基本觀點。在我思考這個問題時,我想到了三種主要的分類來思考 UML:UmlAsSketch、UmlAsBlueprint 和 UmlAsProgrammingLanguage。(有趣的是,史蒂夫·梅勒獨立提出了相同的分類。)
UML 草圖工具
我繪製了很多 UML 圖表,但我沒有使用 CASE 工具。原因是我對 UmlAsSketch 感興趣,而不是對所有儲存庫的東西感興趣。到目前為止,我的常規選擇一直是 Visio。儘管 Visio 附帶 UML 範本,但我沒有使用內建範本 - 我更喜歡 帕維爾·赫魯比 的範本。
UML2
上週 OMG 通過 UML 2 的上層結構文件。在實務上,這表示 UML 2 已獲得共識。UML 2 中對 UML 有許多變更,這是自 UML 最初獲得共識以來最大規模的修改。對一般使用者來說,最明顯的變更可能是
不必要的建模語言
UML 對不同的人來說有不同的意義,這就是我認為人們使用不同的 UmlMode 的概念很有用的原因。我交談過的大多數人對 UmlAsSketch 感興趣,而這群人對 UML 2 沒有留下深刻印象。
用例
用例是一種組織和引發需求的技術。它們最初由 Ivar Jacobson 在 80 年代末和 90 年代初推廣。