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