現代軟體工程裡的困惑

來源:互聯網
上載者:User

在眾多軟體相關的知識中,軟體工程絕對是很特別的一個。

很多人很鄙視軟體工程,說:我一看到軟體工程的書就直接略過;與之相對應,很多人很推崇軟體工程,會花很大的心思去研究敏捷、CMMI等。

剛入職場的程式員大致上是討厭軟體工程的,因為這東西離自己的實踐有點遠,並且主要是添加束縛。

 

但既然更加複雜紛繁的曆史都可以總結出規律,軟體開發沒道理就總結不出可以遵循的規律。

也許真的事實是:並不是軟體工程沒有用,而實在是很多軟體工程的書籍理論飄的太高,落地上有困難。

 

軟體工程一個很大的困境在於,它總是試圖以軟體整體為研究對象,但軟體的內部分野過多,不同種類的軟體間所適用的方法又充滿矛盾。

這最終就導致很多軟體工程理論往那裡落都有點困難。

而程式員或者專案經理這些現場的人往往是非常務實的,面對這種無法接地氣的東西,自然會猶豫和抵觸。

 

還是以前的那個觀點。

當一個人一個組織提倡一種方法時,不單要闡明方法自身,還要闡明方法自身的邊界。

CMMI,敏捷等等都不應該規避自己的有限性。

 

確實有無限適用於軟體的方法,但這種方法論必須基於軟體的根本特質。

 

對此我們可以講:

從特質上來看,既然軟體是固化的思維,那就必然同時具備思維以及思維所承載之物之特質。

 

  • l 思維的特質是指:思維的澄清通常是漸進的,思維自身是不可度量的,思維的主體一定是人,思維通常由概念和邏輯組成,思維的無邊界化(靈活易變)這樣的特質。這部分特質是共通部分,同時屬於所有軟體。

 

  • l 思維承載之物之特質是指:當思維的對象是數學的時候,思維本身也就具備了數學的特質;當思維的對象是商業邏輯的時候,思維自身也就具備了商業邏輯的特質。

 

既然思維自身的特質是複合的,那麼作為固化思維的軟體,其特質必然也是複合的:

既有屬於所有軟體的共同特質,也有特屬於某類軟體,甚至同其他類軟體完全相反的專屬特質。

 

這是兩條完全不同的處理軟體工程的方法,都有前途。

要麼你基于思維的特質去演繹軟體工程,要麼你基於具體的情境去演繹,但要闡明限度。

最怕兩者都不靠,那就導致內部矛盾,成為一種軟體工程自身的困惑。

 

那軟體工程自身究竟有沒有一種有效邊界?

如果把所有影響軟體的因素都涵蓋於軟體工程之內,那麼這事兒就變成無邊界的了,財務、公司運營、市場營銷全對軟體有影響,如果把他們都包含到軟體工程的概念內,

軟體工程就變成了四不像,什麼都是可也什麼都不是。

這點上可以向經濟學家取經,經濟學家研究經濟學的方法是:先假設某些因素不發生變動,進而觀察幾個特定因素的變化和關係。

 我們可以先抽去商務因素、市場因素對軟體的影響,尋找本質規律,再把商務因素、市場因素的權變加回來,看看如何彎曲本質規律以適應現實。

 好比我們畫圓的時候畫出的圓總是不理想的,但只要我們知道了圓的理想方程,我們就總可以畫出儘可能完美的圓。

 

從學習軟體工程的角度看,也許從《代碼大全》這書開始是個不錯的主意,這書裡即講軟體全體,又講軟體開發的細節,只要是寫過程式的人,大致都可以從中吸取養分。

 

個人感覺軟體工程在國內的一個困境是名詞始終在不停的變換,但實際起作用的卻不多,最終導致剛對一個絕望,就開始對新的一個報以希望這樣周而復始的狀況。

這種狀況也許有其更深層次的原因,比如短期內市場、生存壓力等維度上的力量過於強大導致工程力量的長遠價值被漠視,進而使方法論並不為解決現實問題而存在,而是為了認證而存在。

本質來看卻一定不是軟體工程毫無價值。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.