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

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

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

    零雨其蒙's Blog

    做優(yōu)秀的程序員
    隨筆 - 59, 文章 - 13, 評(píng)論 - 58, 引用 - 0
    數(shù)據(jù)加載中……

    軟件工程與建筑工程

    ??????? 晚上跟老爸去遛彎,跟爸聊起工程。老爸是搞建筑工程的,屬于現(xiàn)場指揮工人干活的工程師。
    ??????? 從跟老爸的談話中可以看出,軟件工程有以下幾個(gè)特點(diǎn):
    ??????? 1、模式比較固定,需求很明確。比如說蓋飯店就是飯店,蓋寫字樓就是寫字樓。說一層有幾個(gè)房間就有幾個(gè),說幾個(gè)大的幾個(gè)小的,幾個(gè)廁所,都規(guī)定好的。樓梯什么樣,也都有現(xiàn)成的模式。
    ??????? 2、分工明確。領(lǐng)導(dǎo)們開會(huì)決定需求,設(shè)計(jì)院負(fù)責(zé)設(shè)計(jì),然后拿到現(xiàn)場由現(xiàn)場的工程師將圖紙放大,而且完全遵照?qǐng)D紙,建筑工人來最后實(shí)現(xiàn)(砌磚、搭梁什么的)。
    ??????? 而我想軟件工程可不是這樣啊!需求總是變來變?nèi)ィ袝r(shí)軟件都編完了,客戶才明白自己想要什么。這是個(gè)軟件工程永遠(yuǎn)也解決不了的問題。從需求到設(shè)計(jì)再到代碼,中間的鴻溝相當(dāng)大,如果說能按照設(shè)計(jì)者的設(shè)計(jì)直接翻譯成代碼(就像建筑工人一樣,不需要思考),那設(shè)計(jì)量相當(dāng)恐怖了。
    ??????? 正是某些人直接將軟件工程和建筑工程畫了等號(hào),才出現(xiàn)了瀑布模型這樣的錯(cuò)誤方法和軟件藍(lán)領(lǐng)、代碼工人之類的說法。覺得程序員和民工一樣。在20世紀(jì)80年代美國已經(jīng)意識(shí)到這個(gè)問題,國防部、IBM都廢棄了瀑布方法,而改用了IID,而在國內(nèi),很多項(xiàng)目還在繼續(xù)遵從著瀑布模型,而且教學(xué)中依然在強(qiáng)調(diào)瀑布模型,即使強(qiáng)調(diào)了迭代開發(fā)之類的,要么就是說一套做一套;要么就是在迭代方法上附加瀑布模型的對(duì)迭代的錯(cuò)誤理解(看過一本書上說每個(gè)迭代就是一個(gè)小瀑布,其實(shí)這是對(duì)瀑布模型理解的錯(cuò)誤,分析、設(shè)計(jì)、開發(fā)、測試、實(shí)施并不是瀑布模型的專利啊)。而且我還得知,蓋一棟8層家屬樓,才需要1000多萬,而我們現(xiàn)在正在做的這個(gè)項(xiàng)目光軟件開發(fā)費(fèi)用竟然高達(dá)8000萬,看來,從這點(diǎn)來看,建筑工程是不能跟我們相比的。
    ???????? 正如Craig Larman在《UML & 模式應(yīng)用》?中說軟件是高創(chuàng)造性活動(dòng),具有高風(fēng)險(xiǎn)的特點(diǎn)。作為對(duì)風(fēng)險(xiǎn)的控制,顯然UP/XP會(huì)起到積極的作用。從這點(diǎn)上來講,建筑工程是不能跟軟件工程相比的。
    ???????? 在軟件活動(dòng)中,程序員應(yīng)該受到尊重,而且程序員是構(gòu)造軟件的核心。偉大的設(shè)計(jì)師必是優(yōu)秀的程序員(借用Fowler在《重構(gòu)》中對(duì)自己的評(píng)價(jià):覺得自己只是個(gè)有著好習(xí)慣的優(yōu)秀程序員),很難想象,一個(gè)不會(huì)編程的設(shè)計(jì)師怎么能理解設(shè)計(jì)模式(反正我因?yàn)榭床惶瓹++的代碼,覺得理解設(shè)計(jì)模式相當(dāng)困難,很多模式是因?yàn)樵诰帉慗ava程序時(shí)遇到過同樣的問題(所謂的context),自己想到一些方案,發(fā)現(xiàn)有些模式正好可以更好的解決我的設(shè)計(jì)難題,覺得比較受啟發(fā)),同樣想成為一個(gè)好的架構(gòu)師,則更應(yīng)該如此了。還有一些人畢業(yè)之后想去做顧問,我很難想象讀了一些網(wǎng)上的文章,就可以去給使用Spring的團(tuán)隊(duì)做顧問了?(當(dāng)然如果你有深厚的EE功底,理解并使用Spring也并非難事)總之,實(shí)踐出真知。而所謂實(shí)踐,大抵對(duì)于軟件構(gòu)造活動(dòng)就是編程,軟件活動(dòng)的最終產(chǎn)物不是報(bào)告,而是可以運(yùn)行的軟件,偏離了這點(diǎn),就是本末倒置了。
    ??????? 最近在看《UML & 模式應(yīng)用》,覺得大受啟發(fā),剛看完領(lǐng)域模型這一章,但是這已經(jīng)解決了我先前的很多疑問了。比如到底什么是領(lǐng)域模型,怎么寫用例(原來以為用例的根本是畫用例圖,結(jié)果大師告訴我,用例的本質(zhì)竟然是文本,具體的我會(huì)單獨(dú)撰文),先前的很多自己摸索的實(shí)踐,在看書的過程中,不斷提煉,聯(lián)系實(shí)踐,感覺真的很不錯(cuò)~

    ???????? 還記得有人這樣評(píng)價(jià)Robert Martin:Robert Martin是一位具有三十多年開發(fā)經(jīng)驗(yàn)的老程序員,盡管今天已經(jīng)是世界頂級(jí)的專家,但他對(duì)于“一切必須落實(shí)到代碼”的思想,仍然抱著無比堅(jiān)定的信念。

    ???????? 希望我自己能成為像Robert Martin,Martin Fowler,Rod Johnson,Craig Larman,Kent Beck等等這些世界級(jí)的專家~

    posted on 2007-02-01 20:25 零雨其蒙 閱讀(728) 評(píng)論(0)  編輯  收藏 所屬分類: 程序生活

    主站蜘蛛池模板: 日韩精品亚洲专区在线观看| 国产又大又黑又粗免费视频 | 亚洲日本一线产区和二线| 99久久免费看国产精品| 亚洲Av无码专区国产乱码DVD| 国内少妇偷人精品视频免费| 亚洲国产精品无码av| 91精品手机国产免费| 亚洲免费福利视频| 国产麻豆免费观看91| 国产亚洲综合久久| 亚洲国产中文v高清在线观看| h视频在线观看免费| 夜夜亚洲天天久久| 波多野结衣在线免费视频| 亚洲精品免费网站| 免费人成在线观看网站视频| 久久精品无码免费不卡| 亚洲自偷自拍另类12p| 岛国大片免费在线观看| 一区二区三区免费在线视频| 亚洲AV无码一区二区二三区软件| 91精品国产免费入口| 亚洲综合偷自成人网第页色| 免费人成在线观看播放国产 | 亚洲国产美女在线观看| 成人免费午夜视频| 又硬又粗又长又爽免费看| 久久亚洲国产伦理| 全免费一级午夜毛片| 好吊色永久免费视频大全| 18亚洲男同志videos网站| 日本免费v片一二三区| 男人天堂免费视频| 亚洲色最新高清av网站| 在线日韩日本国产亚洲| h在线观看视频免费网站| 男女污污污超污视频免费在线看| 亚洲无删减国产精品一区| 四虎影在线永久免费四虎地址8848aa | 亚洲精品一卡2卡3卡四卡乱码|