昨天(6月29日)下午,我應中關村創新研修學院院長袁傳寬教授的邀請,去現場聆聽了北航麥中凡教授的一場講座。麥中凡教 授是我國我國軟件工程領域的著名學者,上世紀90年代中期,我開始學習C++和面向對象編程的時候,拜讀過他編著的兩卷本教程,受益匪淺。這次講座的主題 是國際軟件工程的標準,以及CSDP認證考試的有關情況介紹,也正好是我關注的話題,所以盡管當時有另外一個活動安排,我還是臨時決定要來聽麥教授的講 座。
盡管由于消息渠道的原因,到場的聽眾人數不多,但是麥教授的講座卻十分精彩,內容涉及面廣泛,觀點非常深刻,確實不愧是在軟件以及軟 件工程領域耕耘了一輩子的大家。其中有一些觀點,我認為很有必要讓更多的人知道,所以根據自己的記憶將講座中的一些精彩觀點記錄下來。由于沒有經過麥教授 的審訂,可能有不準確的地方,待將來向麥教授請教以后再修正。
1. 談到軟件工程作為一個獨立的專業和職業的時候,麥教授說:
“軟件工程作為一門獨立的專業,軟件工程師作為一個被認可的職業,是以2004年SWEBOK的發布作為標志的,這時候距離1968年軟件工程這個概念被提出來已經過了36年。在此之前,人們實際上是把計算機科學混同與軟件工程了,
殊不知科學與工程是有本質差別的,科學是要追求完美的,而工程的原則是,有多少資源就干多少事。我們整個教育體系都按照培養計算機科學家的方式來培養軟件工程師,結果培養出來的學生對技術很崇拜,但是腦子里時間的觀念很少,錢的概念更幾乎沒有。”
2. 談到中國的軟件創新環境:
“關鍵問題是政府和有關的行業協會缺位。他們的主要工作應該是踏踏實實把軟件產業的環境建設好,尤其是把市場環境建設好。而做這個工作是慢活,一屆人砌一 塊磚,等他離任的時候,可能看上去沒什么成績,然后下一屆人再砌一塊磚,這么好幾屆干下來,才能把這個環境建設好。但是現在大家都追求短期成績,既然追求 短期效果,那就把精力集中到搞項目去了,那個來的快嘛。”
3. 談中國軟件市場:
“我不知道在座的同志是不是知道,我們中國的軟件市場情況很糟糕,根本不是什么自由競爭的市場,很多情況下,就是靠關系,靠拍肩膀。在這種情況下,你跟老 板去談軟件工程,他當然不認同。因為既然可以靠關系解決問題,那當然這就是最經濟的做法,反倒是最符合軟件工程的原則——花少錢辦大事。”
4. 談目前中國軟件開發文檔工程的現狀:
“按軟件工程的國際標準,一個大型項目應有125個文檔,國內一般不超過25個,甚至有的項目只有7、8個。”
5. 但是麥教授又說:
“這就是中國的現實情況,在實踐中可以妥協也必須妥協,但是我們心理要知道,這是不對的,需要改進。將來條件具備了,還是要回到正確的方法上來。”
6. 談瀑布模型為什么無效:
“瀑布模型是一個階段一個階段做,每一個階段都做對做完,下一個階段在上一個階段的基礎上進行。這就要求我們從一開始就把系統認識清楚。可是軟件本身就是一個思想產品,開發的過程就是不斷加深認識的過程,生產過程結束了,對系統也才真正認識。所以一開始就認識系統是根本不可能的事情。瀑布模型不行,根本原因在這里。”
7. 談軟件開發的本質:
“軟件開發的本質是在概念空間中構造(construction)。難就難在是在概念空間中,有些概念是存在現實對應物的,有些只是概念,有些甚至是為了 做軟件系統才被發現或者發明出來的概念。搞軟件的人如果不善于發現概念、創造概念和術語,技術再好也算不上高明。也正是因為這個道理,文檔是軟件工程中絕 對不可以缺少的。”
“軟件開發就是模型轉化的過程,從現實事物轉化為概念模型,轉化為解體模型,也就是邏輯模型,再轉化為平臺無關模型,平臺有關模型,最好編譯成為實現模型。這一系列轉化過程都必須遵守等價的原則。”
8. 談Web Services:
“Web Services將會給現在的軟件工程概念帶來有一次變革。重要的已經不是‘數據結構+算法’,或者至少對于絕大多數人來說,不需要掌握那么深入的算法技 術,因為少量專業公司已經通過Web Services在網絡上提供了最好的專業計算功能,你只需要會整合就可以。”
9. Web Services時代的產業鏈:
“現在的軟件通常是由專業的軟件公司開發的,因為現在開發軟件的核心是 ‘寫’ 軟件。但是在Web Services時代,‘寫’ 軟件變得不那么困難,難點向兩端轉移,一端是建模,一端是測試集成,于是軟件的開發會越來越多地由專業咨詢公司完成,他們要了解業務,了解現有那些專業 Web服務可供選擇,并且指導怎樣把合適的Web服務整合起來。”
posted on 2007-07-27 23:39
前方的路 閱讀(166)
評論(0) 編輯 收藏 所屬分類:
軟件思想