學習筆記 全面認識UML
本文和大家學習一下UML,它是一種很好的工具,是進行需求分析和概要設計的利器。要注意的是,UML是一種表達工具。不是思想,也不是設計方法。
什么是UML?
UML(UnifiedModelingLanguage統一建模語言),是一種能夠描述問題、描述解決方案、起溝通作用的語言。通俗點說,它是一種用文本、圖形和符號的集合來描述現實生活中各類事物、活動、及其之間關系的語言。這就是UML。
它是一種很好的工具,是進行需求分析和概要設計的利器。要注意的是,UML是一種表達工具。不是思想,也不是設計方法。
掌握UML是成為軟件設計師的必要條件,一般在此領域應用較多。
標準建模語言UML的重要內容可以由下列五類圖(共9種圖形)來定義:用例圖、靜態圖、行為圖、交互圖、實現圖。
從應用的角度看,當采用面向對象技術設計系統時,首先是描述需求;其次根據需求建立系統的靜態模型,以構造系統的結構;第三步是描述系統的行為。其中在第一步與第二步中所建立的模型都是靜態的,包括用例圖、類圖(包含包)、對象圖、組件圖和配置圖等五個圖形,是標準建模語言UML的靜態建模機制。其中第三步中所建立的模型或者可以執行,或者表示執行時的時序狀態或交互關系。它包括狀態圖、活動圖、順序圖和合作圖等四個圖形,是標準建模語言UML的動態建模機制。因此,標準建模語言UML的主要內容也可以歸納為靜態建模機制和動態建模機制兩大類。
對UML是什么的深層次理解
1.UML是一種標準。
在這里說標準,似乎太深奧了,說協議或許更好些。UML是一種協議,它是系統分析人員和設計人員之間、軟件從業人員與客戶之間所應遵循的一種通訊協議。就好像FTP服務器程序與客戶端程序需要通訊,首先大家都要遵循一種協議(FTP協議)。通過使用UML,系統分析人員不僅可以很直觀地記錄客戶需求,為系統設計提供具體的、可參考的系統分析模型,而且可以很方便地與設計人員甚至客戶進行交流,因為大家都遵循同一協議,交流就變得容易和直觀了。從客戶角度來講,如果希望更好的表達自己的需求信息,并能夠很好的與專業人員進行交流,是不是也應該多關注一下UML呢?
2.UML是統一建模語言。
什么是“統一”?它表示UML并不僅僅是軟件系統的“專利”,非軟件行業同樣可以使用UML進行建模描述。同時,它也更好地證實了“UML是一種標準”這一說法。什么是“語言”?因為它有自己的語法和語義。UML的各個元素有著自己的語義,而元素的組織形式卻遵循著一定的語法規則。從語法強度來講,UML應該和自然語言的語法強度平級,因此UML應該會出現二義性問題。UML應該是一種描述性語言(DL),描述對象就是系統分析與系統設計的思想。
3.UML不是方法論。
UML不能對問題域提供一套解決方案,這是系統分析員和軟件設計師的職責。它僅僅是一種語言,支持UML標準的軟件也僅僅是一套系統建模工具,它就像一般的編程語言一樣,比如C#語言本身并不能幫你解決實際的業務問題,具體問題如何解決,就需要編程人員很好地使用C#語言來編程實現。就如同五線譜,五線譜本身并沒有告訴你應該如何作曲,熟悉五線譜也不意味著你同時就會作曲,當然熟悉五線譜,可以保證你讀懂別人的音樂作品。同樣,UML本身也沒有告訴你如何設計軟件,但是,你熟悉了UML,就可以看懂別人的設計,如果你自己也有設計上的思路,你也可以用UML表達出來,大家也都能看得懂。
【編輯推薦】