整合模組化語言(UML是 Unified Modeling Language的縮寫)是用來對軟體密集系統進行可視化建模的一種語言。UML為物件導向開發系統的產品進行說明、可視化、和編製文檔的一種標準語言。
整合模組化語言 (UML)是非專利的第三代建模和規約語言。 UML是在開發階段,說明,可視化,構建和書寫一個物件導向軟體密集系統的製品的開放方法。UML展現了一系列最佳工程實踐,這些最佳實務在對大規模,複雜系統進行建模方面,特別是在軟體架構層次已經被驗證有效。
UML可以貫穿軟體開發週期中的每一個階段。被OMG採納作為業界的標準。
UML最適於資料建模,業務建模,對象建模,組件建模。
UML作為一種模型語言,它使開發人員專註於建立產品的模型和結構,而不是選用什麼程式語言和演算法實現。當模型建立之後,模型可以被UML工具轉化成指定的程式語言代碼。
一、從整體上把握UML,見《什麼是UML(UML總結)》
http://blog.csdn.net/shan9liang/article/details/6723230
二、從結構上把握UML,見《UML的基本結構》
http://blog.csdn.net/shan9liang/article/details/6704851
三、認識UML中類之間關係的區別與聯絡
http://blog.csdn.net/shan9liang/article/details/6705728
四、認識UML的9種圖:
1、使用案例圖(Use-Case Diagram):描述什麼角色通過某某系統能做什麼事情的圖,使用案例圖關注的是系統的外在表現,系統
與人的互動,系統與其它系統的互動。
http://blog.csdn.net/shan9liang/article/details/6706814
2、類圖(Class Diagram):描述類,介面,協作以及他們之間關係的圖,實現系統結構化模型的可視化。
http://blog.csdn.net/shan9liang/article/details/6709614
3、對象圖(Object Diagram):顯示某時刻對象與對象之間的關係,反應系統的靜態過程,對象圖也看做是類圖的執行個體。
http://blog.csdn.net/shan9liang/article/details/6712867
4、活動圖表(Activity
Diagram):通過一系列操作將商務程序或軟體進程以工作流程的形式顯示出來。
http://blog.csdn.net/shan9liang/article/details/6713085
5、狀態圖(Statechart
Diagram):描述一個特定對象的所有可能的狀態以及由各種事件的發生而引起的狀態之間的轉移。
http://blog.csdn.net/shan9liang/article/details/6716242
6、時序圖(Sequence
Diagram):描述參與互動的對象及其對象之間資訊互動的順序。可以與共同作業圖表相互轉換。
http://blog.csdn.net/shan9liang/article/details/6718412
7、共同作業圖表(Collaboration
Diagram):描述一系列對象和在這些對象之間的聯絡以及對象間發送和接收地訊息。又稱“合作圖”
http://blog.csdn.net/shan9liang/article/details/6719736
8、構件圖(Component Diagram):由諸如原始碼檔案,二進位代碼檔案,可執行檔或動態連結程式庫這樣的構件構成,並通過
依賴關係相串連。
http://blog.csdn.net/shan9liang/article/details/6719701
9、部署圖(Deployment Diagram):用來顯示系統中軟體和硬體的物理架構。從部署圖中,您可以瞭解到軟體和硬體組件之
間的物理關係以及處理節點的組件分布情況。
http://blog.csdn.net/shan9liang/article/details/6719721
五、認識RUP
RUP(Rational Unified Process,統一軟體開發過程)是一個物件導向且基於網路的程式開發方法論。
http://blog.csdn.net/shan9liang/article/details/6723229
綜述,以上是對UML基礎與應用系列文章的總結,這些文章參考了UML視頻課程的筆記和UML書籍,還有一些業內人士的部落格,一些網站上的相關內容。希望這些文章能帶給大家,也帶給自己協助,如果有什麼錯誤的地方,希望大家指出,共同進步。
最後,打個比方,學習UML的過程,就好比一個只會搭雞窩(或連雞窩也不會搭,只會堆磚放瓦:敲代碼)的建築工人開始學習如何設計並建築高樓大廈的過程,一個成功的軟體工程師,必須像一個建築大師那樣去建設高樓大廈,而不是像建築工人那樣堆磚砌瓦。學習UML,就是走向成功軟體工程師的必經階段。