<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, 評論 - 593, 引用 - 0
    數(shù)據(jù)加載中……

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

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

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

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

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

    評論

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

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

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

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

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

    高!實在是高!
    2008-11-05 14:48 | 寶寶

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 99久久人妻精品免费二区| 一个人看的www免费高清| 日韩精品免费一级视频| 亚洲阿v天堂在线| 久久成人18免费网站| 亚洲午夜久久久久久久久电影网 | 亚洲国产一成人久久精品| 成人在线免费视频| 伊人亚洲综合青草青草久热| 91手机看片国产永久免费| 久久亚洲精品中文字幕| 97国产免费全部免费观看| 亚洲1区1区3区4区产品乱码芒果| 一个人免费观看www视频在线 | 亚洲变态另类一区二区三区| 日本特黄a级高清免费大片| 校园亚洲春色另类小说合集| 亚洲国产日韩成人综合天堂| 全黄大全大色全免费大片| 久久亚洲中文字幕精品有坂深雪| 青草草色A免费观看在线| 亚洲色最新高清av网站| 亚洲国产一区二区三区| 性无码免费一区二区三区在线| 亚洲综合激情另类小说区| 午夜爱爱免费视频| fc2成年免费共享视频网站| 亚洲国产精品人久久| 成人无码区免费视频观看| 视频免费1区二区三区| 亚洲AV无码久久精品狠狠爱浪潮| 日本h在线精品免费观看| 色噜噜的亚洲男人的天堂| 亚洲国产精品嫩草影院在线观看| 欧洲乱码伦视频免费| 免费看黄网站在线看| 久久久久亚洲av无码专区喷水| 妞干网手机免费视频| 人妻在线日韩免费视频| 亚洲欧洲无卡二区视頻| AV在线播放日韩亚洲欧|