本篇緊接著上一篇 基本OOP知識 ,介紹高煥堂老師的第二講, 架構(gòu)設(shè)計(jì)的UML圖形思考。本篇最重要的是三個詞語:圖形、思考、UML。 一、建模與圖形思考的必要性在整個項(xiàng)目的開發(fā)過程中,架構(gòu)師(Architect)的職責(zé)就是創(chuàng)意設(shè)計(jì)與人際溝通。在規(guī)劃架構(gòu)或框架的階段,還沒開始動工撰寫程序碼,那么架構(gòu)師如何進(jìn)行創(chuàng)意思考呢? 又如何將創(chuàng)意設(shè)計(jì)表達(dá)出來,爭取自己公司老板和業(yè)主的支持(例如投資)呢?大家都知道,像舉世公認(rèn)的創(chuàng)意天才:達(dá)芬奇(Leonardo da Vinci)。他具有非凡的圖形繪制和思考能力(例如蒙娜莉薩的微笑就是他的名作)。這提醒了我們,身為架構(gòu)師,其圖形繪制和思考能力愈好,其創(chuàng)意設(shè)計(jì)與人際溝通能力就愈好。因此,培養(yǎng)Android架構(gòu)師的圖形思考能力是極為重要的。 一個項(xiàng)目開發(fā)需要一年,那么在項(xiàng)目開發(fā)的一個月內(nèi),架構(gòu)師就要將整個項(xiàng)目的架構(gòu)設(shè)計(jì)出來,可是如何設(shè)計(jì)?就算設(shè)計(jì)出來如何讓其他開發(fā)人員、老板知道呢?寫程序?qū)崿F(xiàn)時間肯定不夠(而且這也不是架構(gòu)師的職責(zé)嘛,不是),此時就需要借助圖形的魅力了。我們說不出來,但我們可以畫出來。在思考的時候我們可以借助圖形來進(jìn)行思考,思考系統(tǒng)未來可能的變化,然后將自己的思考以圖形的思維表達(dá)出來,其他開發(fā)人員就知道如何去做了。在軟件的世界中,建模是圖形的最好詮釋。用簡單的模型表達(dá)出系統(tǒng)未來可能的一切變化,讓開發(fā)人員、老板、經(jīng)理在心中對于整個系統(tǒng)有一定的了解,這個時候才能夠真正的進(jìn)行開發(fā)。否則都只會是空談。 二、UML軟件圖形語言和工具既然決定用建模來表達(dá)系統(tǒng)的架構(gòu),那么就像我們?nèi)祟愐粯?,交流需要語言,這樣彼此之間才能理解對方表達(dá)的意思。換句話說,如果使用相同的語言、相似的工具進(jìn)行建模,那么不管是架構(gòu)師與架構(gòu)師之間,開發(fā)人員與架構(gòu)師之間都能很好的交流的工具。由于人們對這些圖形元素有了共同的認(rèn)知,所以系統(tǒng)架構(gòu)之描述(即模型)也就成為人與人之間可以認(rèn)知和理解的東西。因之,人與人之間采用共同的(圖形)模型時,就易于溝通,易于互相合作了。而UML統(tǒng)一建模語言存在的意義正是如此,作為不同人員之間項(xiàng)目交流的工具語言。 如上圖所示,五線譜所繪制的交響曲正是作曲家、演奏家、一般人之間對于音樂理解溝通交流的語言,一個抽象的東西一下子就變得有跡可循,變得具體。建模語言扮演的角色正是五線譜所擔(dān)當(dāng)?shù)慕巧?/p> 軟件:UML是一種圖形語言 人們對于復(fù)雜事物的理解,有其先天上的限制。即使面對一般的系統(tǒng),大部分的人們還是不敢拍胸脯保證能完全了解它,更何況目前的軟件系統(tǒng)已日益復(fù)雜了。此情況下,模式的建立,可以協(xié)助軟件人員進(jìn)一步了解系統(tǒng)。對于架構(gòu)師或開發(fā)者來說,都是非常重要的。無論在培養(yǎng)圖形思考或團(tuán)隊(duì)溝通上,對于軟件創(chuàng)意或管理上,是無可取代的。 UML的建模工具 Astah Professional(原名JUDE)是UML建模工具中,最具有簡潔設(shè)計(jì)、輕便簡單、易學(xué)好用的。Astah 功能強(qiáng)大,支持 UML2.x中的圖表(Diagram) 三、UML實(shí)戰(zhàn):表示繼承、接口這樣的圖文對照,能有效培養(yǎng)架構(gòu)師的圖形思考和創(chuàng)意,提升架構(gòu)師與項(xiàng)目經(jīng)理、業(yè)主的溝通能力。在圖形上,也能增加美感,培養(yǎng)架構(gòu)師對軟硬件的感覺(Feeling)而不是只能邏輯的理解(Understanding),有助于與設(shè)計(jì)師進(jìn)行創(chuàng)意交流。 |
|