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