<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    冷面閻羅

    低調(diào)做人&&高調(diào)做事
    隨筆 - 208, 文章 - 3, 評(píng)論 - 593, 引用 - 0
    數(shù)據(jù)加載中……

    面向?qū)ο蠓治雠c設(shè)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì)OOAD

           OOAD(Object Orient Analysis & Design,面向?qū)ο蟮姆治龊驮O(shè)計(jì),面向?qū)ο蠓治雠c設(shè)計(jì))是現(xiàn)代軟件企業(yè)廣為采用的一項(xiàng)有效技術(shù)。OOAD方法要求在設(shè)計(jì)中要映射現(xiàn)實(shí)世界中指定問(wèn)題域中的對(duì)象和實(shí)體,例如:顧客、汽車和銷售人員等。這就需要設(shè)計(jì)要盡可能地接近現(xiàn)實(shí)世界,即以最自然的方式表述實(shí)體。所以面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn)即為能夠構(gòu)建與現(xiàn)實(shí)世界相對(duì)應(yīng)的問(wèn)題模型,并保持他們的結(jié)構(gòu)、關(guān)系和行為為模式。
          大師說(shuō):"沒(méi)有不變的需求,世上的軟件都改動(dòng)過(guò)3次以上,唯一一個(gè)只改動(dòng)過(guò)兩次的軟件的擁有者已經(jīng)死了,死在去修改需求的路上。"
      目前眾多的軟件項(xiàng)目有什么樣的問(wèn)題呢?早些時(shí)候上ERP的企業(yè)在企業(yè)發(fā)展的時(shí)候發(fā)現(xiàn)原有的ERP系統(tǒng)需要改進(jìn),可是要改進(jìn)或者是更改現(xiàn)有的ERP系統(tǒng),唯一的方法就是重新開(kāi)發(fā)一個(gè)ERP系統(tǒng)。這對(duì)于企業(yè)來(lái)說(shuō)是筆不小的支出。此時(shí),落后的信息系統(tǒng)就成為制約企業(yè)發(fā)展的重要因素。是什么原因造成了這種情況呢?主要的因素是傳統(tǒng)的系統(tǒng)分析是在假定需求不變的情況下進(jìn)行的,這樣可以把企業(yè)的資源配置到最優(yōu)的程度。可是在現(xiàn)代瞬息萬(wàn)變的社會(huì),一個(gè)企業(yè)固守舊有模式,勢(shì)必會(huì)在競(jìng)爭(zhēng)中處于劣勢(shì)(因此現(xiàn)在也出現(xiàn)了"組件化"的ERP,這是題外話)。既然企業(yè)的需求是變化的、不穩(wěn)定的,那么以變化的需求為基礎(chǔ)建立起來(lái)的企業(yè)信息系統(tǒng)當(dāng)然也就不穩(wěn)定了。這時(shí)候,有個(gè)問(wèn)題就產(chǎn)生了,前面我們已經(jīng)說(shuō)過(guò),需求是項(xiàng)目的根本,既然需求都是不穩(wěn)定的,那么何以建立起穩(wěn)定的企業(yè)信息系統(tǒng)呢?

      要回答這個(gè)問(wèn)題,首先要比較面向過(guò)程和面向?qū)ο蟮拈_(kāi)發(fā)方法的差別,傳統(tǒng)的面向過(guò)程的開(kāi)發(fā)方法在前20年大行其道,為中國(guó)企業(yè)的信息化建設(shè)立下了汗馬功勞。之所以稱為面向過(guò)程,是因?yàn)殚_(kāi)發(fā)的焦點(diǎn)集中于過(guò)程,開(kāi)發(fā)者集中于以函數(shù)為核心的過(guò)程,例如前些年很多人試圖編寫(xiě)一些通用轉(zhuǎn)賬函數(shù)來(lái)滿足銀行的需求。面向過(guò)程的開(kāi)發(fā)語(yǔ)言包括:Cobol、Pascal、C及C的變形語(yǔ)言。面向?qū)ο蟮母拍钍窃诮?0年才進(jìn)入中國(guó)的,而它的思想至今也沒(méi)有真正意義上得到普及。簡(jiǎn)單的說(shuō),面向?qū)ο缶褪敲嫦蚴澜纾澜缟系娜魏问挛锒际菍?duì)象,因此面向?qū)ο笫呛茏匀坏乃枷耄欠衔覀兊乃季S習(xí)慣的。面向?qū)ο蟮恼Z(yǔ)言包括了Smalltalk、C++、Java,還有Object
    Pascal,以及剛剛誕生的C#。
      需求是不穩(wěn)定的,那么需求之中是不是沒(méi)有穩(wěn)定的東西呢?有的,就是對(duì)象。世界都是由對(duì)象組成的,而對(duì)象都是持久的,例如動(dòng)物、植物已經(jīng)有相當(dāng)長(zhǎng)的時(shí)間。雖然對(duì)象也在變化,動(dòng)物,植物也在不斷的進(jìn)化。但對(duì)象在一個(gè)相當(dāng)長(zhǎng)的時(shí)期內(nèi)都存在,動(dòng)植物的存在時(shí)間肯定比任何一家企業(yè)長(zhǎng)久。面向?qū)ο蟮拈_(kāi)發(fā)方法的精髓就是從企業(yè)的不穩(wěn)定需求中分析出企業(yè)的穩(wěn)定對(duì)象,以企業(yè)對(duì)象為基礎(chǔ)來(lái)組織需求、構(gòu)架系統(tǒng)。這樣得出的系統(tǒng)就會(huì)比傳統(tǒng)的系統(tǒng)要穩(wěn)定得多,因?yàn)槠髽I(yè)的模式一旦變化,只需要將穩(wěn)定的企業(yè)對(duì)象重新組織就行了。這種開(kāi)發(fā)的方法就被稱為OOAD(Object
    Orient Analysis & Design 面向?qū)ο蟮姆治龊驮O(shè)計(jì)),而分析出的企業(yè)對(duì)象就被稱為Common Business Object。
    圍棋與OOAD的幾個(gè)相似點(diǎn):
    活棋與對(duì)象
      一塊活棋至少有兩個(gè)眼位,一個(gè)對(duì)象或類(有用的)至少要有一個(gè)屬性和一個(gè)方法。眼位表明了這塊棋存在的理由,屬性和職責(zé)同樣表明了一個(gè)對(duì)象存在的理由。
    簡(jiǎn)單與復(fù)雜
      圍棋構(gòu)成簡(jiǎn)單,一黑一白,以簡(jiǎn)單構(gòu)建復(fù)雜,與對(duì)象方法的理念相同。
    棋盤(pán)與邊界
      圍棋的棋盤(pán)有邊界,系統(tǒng)有系統(tǒng)邊界。
    定式與模式
      下圍棋有定式,面向?qū)ο蠓椒ㄓ蟹治瞿J胶驮O(shè)計(jì)模式。都是個(gè)中高手們長(zhǎng)期實(shí)踐的經(jīng)驗(yàn)結(jié)果。
      當(dāng)然更主要的相似之處,應(yīng)該在方法和過(guò)程上。圍棋誰(shuí)都會(huì)下,不就是在棋盤(pán)上圈地,看誰(shuí)圈的多嗎。但是高手與低手的水平卻有天壤之別。例如:
    1、 圍棋忌諱把棋下成"愚形",就是一大塊棋坨在一起,行棋效率不高,對(duì)于對(duì)象就是緊耦合,一個(gè)復(fù)雜的對(duì)象負(fù)擔(dān)太重,同樣效率不高;
    2、
    一個(gè)圍棋高手能夠靈活運(yùn)用各種定式和"手筋",看到兩顆子,就能推測(cè)以后的種種演化,一個(gè)面向?qū)ο蟮脑O(shè)計(jì)高手可以靈活地運(yùn)用各種設(shè)計(jì)模式,畫(huà)幾張圖就能描繪未來(lái)的宏偉系統(tǒng);
    3、 圍棋有"金角銀邊草肚皮"的說(shuō)法,在系統(tǒng)分析中首先根據(jù)系統(tǒng)邊界來(lái)確定系統(tǒng)的主要功能和外部接口也是最有效的做法,俗稱"用例驅(qū)動(dòng)"。
    4、 圍棋有"大場(chǎng)",強(qiáng)調(diào)大局觀,系統(tǒng)分析也要求分析人員把握全局,從錯(cuò)綜復(fù)雜的業(yè)務(wù)邏輯當(dāng)中洞察最主要的矛盾。
      整個(gè)行棋的過(guò)程都是演進(jìn)的、逐步精化的,每一階段沒(méi)有明顯的區(qū)分。針對(duì)主要需求的設(shè)計(jì)可以首先完成,階段性設(shè)計(jì)成果一旦確定,就可以轉(zhuǎn)移到下一個(gè)"大場(chǎng)"。符合面向?qū)ο蠓椒ǖ?統(tǒng)一過(guò)程"理論。
    開(kāi)局與需求分析
      下棋的兩個(gè)人好比一個(gè)是分析師,一個(gè)是用戶,開(kāi)始誰(shuí)也不知道誰(shuí)想干什么,通過(guò)一問(wèn)一答的方式明確需求。高手的對(duì)話只需要寥寥幾子就知道對(duì)方的路數(shù),有經(jīng)驗(yàn)的分析師幾個(gè)回合就對(duì)系統(tǒng)了然在胸。
    布局與架構(gòu)設(shè)計(jì)
      至于布局選擇"中國(guó)流"還是"韓國(guó)流",就相當(dāng)于系統(tǒng)架構(gòu)是DotNET還是J2EE,都是根據(jù)用戶具體的需求和設(shè)計(jì)師的臨場(chǎng)判斷做出的。
    中盤(pán)與詳細(xì)設(shè)計(jì)
      根據(jù)架構(gòu)展開(kāi)對(duì)象和類的設(shè)計(jì),棋盤(pán)上漸漸浮現(xiàn)一塊塊活棋的模樣。經(jīng)過(guò)幾輪不斷的"精化"和"轉(zhuǎn)換",大局已定。至于關(guān)子,就是編碼階段,交給程序員去做吧。
      最后,如果你能夠從棋盤(pán)上看出一幅對(duì)象交互圖來(lái),那么恭喜你,你快走火入魔了。

      如果繼續(xù)列舉,可能還能發(fā)現(xiàn)不少相似之處,可是這樣不免有生拉硬扯之嫌,也不是我寫(xiě)這篇文字的本意。下圍棋與系統(tǒng)設(shè)計(jì)都是需要高超智慧的,其中蘊(yùn)涵著豐富的方法論和哲理。經(jīng)常聽(tīng)說(shuō),有圍棋高手寧可輸棋,也不愿下出形狀難看的棋來(lái),他們稱之為藝術(shù),看著棋盤(pán)上一塊塊活棋,簡(jiǎn)潔而高效,互通而互動(dòng),他們感覺(jué)到一種享受。而優(yōu)秀的設(shè)計(jì)又何嘗不是一種藝術(shù)呢,一個(gè)由對(duì)象構(gòu)成的系統(tǒng),每個(gè)對(duì)象都各司其職,消息在其中合理而流暢的傳遞著。你不覺(jué)得也是一種享受嗎?
      而其中最為高妙的地方就在于"平衡"。高手對(duì)局,勝負(fù)往往只有半目,棋盤(pán)上雙方棋子的分布和契合可以用完美來(lái)形容,這就達(dá)到了平衡的極至,此時(shí)輸贏已經(jīng)不重要,弈者已經(jīng)得到了他所要的。
      平衡是一種美。

    posted on 2007-09-25 14:40 冷面閻羅 閱讀(3677) 評(píng)論(3)  編輯  收藏

    評(píng)論

    # re: 面向?qū)ο蠓治雠c設(shè)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì)OOAD  回復(fù)  更多評(píng)論   

    扯的遠(yuǎn)了,這樣扯的話,很多東西都能扯在一起,可也扯不出新東西
    2007-09-25 15:29 | dennis

    # re: 面向?qū)ο蠓治雠c設(shè)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì)OOAD  回復(fù)  更多評(píng)論   

    hehe, 有點(diǎn)意思,一定要學(xué)習(xí)一下圍棋的藝術(shù)
    2007-09-26 11:05 | 雁過(guò)無(wú)痕

    # re: 面向?qū)ο蠓治雠c設(shè)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì)OOAD  回復(fù)  更多評(píng)論   

    高!實(shí)在是高!
    2008-11-05 14:48 | 寶寶

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲国产高清人在线| 亚洲国产精品va在线播放| 久久亚洲国产最新网站| 亚洲一区二区免费视频| 亚洲综合综合在线| 久久精品无码专区免费青青| 久久久久亚洲AV无码永不| 99免费观看视频| 亚洲国产成人久久| 成人免费午夜视频| 综合偷自拍亚洲乱中文字幕| 亚洲AV中文无码乱人伦| 黄色短视频免费看| 久久久久久久久亚洲| 中文字幕免费观看| 亚洲AV成人影视在线观看| 国产高清在线免费视频| 日本一区二区三区在线视频观看免费 | 四虎永久免费网站免费观看| 免费无码一区二区| 亚洲精品tv久久久久久久久| 无码日韩精品一区二区免费暖暖| 亚洲美女大bbbbbbbbb| 两个人的视频高清在线观看免费| 色噜噜的亚洲男人的天堂| 亚洲综合无码精品一区二区三区| 99久久免费中文字幕精品| 男人天堂2018亚洲男人天堂| 亚洲精品高清一二区久久| 无码av免费网站| 激情小说亚洲色图| 久久精品国产亚洲av麻豆| 久久久久久久免费视频| 深夜免费在线视频| 亚洲国产香蕉碰碰人人| 香蕉视频在线观看免费国产婷婷 | 国产成人精品日本亚洲语音 | 免费无码一区二区| 久久久久久久亚洲Av无码| 国产人成免费视频| 免费人成在线观看网站|