軟體產品設計的五種境界

來源:互聯網
上載者:User

  十幾年軟體研發的滄桑歲月,和一度險瀕於破產的痛苦經曆,讓俺對軟體產品開發有了更深層的體會。新年到來之際,寫出來和大家作個交流。

 

一、農業境界

 

  剛參加工作,朋友問我,你能用電腦幹啥?我口出狂言,只要你想得出來的,我都能做得到。其實,我說這話相當無知。

 

  柏拉圖曾經說過,人的知識猶如一個圓,圓內是你已經知道的,圓外是你還不知道的,圓周就是你已經知道的還沒解決的問題。你的知識越豐富,這個圓就越大,圓的周長也越長,也就是你知道的沒解決的問題也越多。

 

  如果你覺得自己沒有啥問題,就說明你很無知。

 

  無數年輕人就是憑自己的熱情,初生牛犢不怕虎的衝勁,在完全沒有經驗和章法的情況下,投入了不會取得勝利的第一場戰鬥。通俗一點講,就是試圖用壘狗窩的技術建高樓大廈。

 

  企業在這個階段,充其量就是個手工作坊。有人說,我的研發團隊上百號人呢。對不起,您是否出於這個階段和企業人數沒多大關係。

 

二、工業境界

 

  瞭解到軟體產品設計研發是一個複雜的系統工程,很多人會嘗試運用一些必要的技術把複雜系統分解成簡單子系統。在這個階段,一些軟體工程理論開始逐步被吸收。這包括:

 

  物件導向的設計思想

  UML、RUP、XP編程、設計模式等軟體工程理論和工具

  組件化系統設計——COM、DCOM、ActiveX、Corba、WebServices等技術開始進入產品設計

 

  簡單地講,已經知道如何把高樓大廈拆解成多個狗窩,化繁為簡;已經懂得遵循軟體工業標準開發能重用的系統組件。

 

  很多人以為已經到達軟體研發的終點,掌握了終極的技術手段。然而,這隻是軟體產品研發的啟蒙階段,隨著發現更多並解決深層次的問題,你需要更有效理論提升你對軟體產品開發的駕馭能力。

 

三、數學境界

 

  工業化境界提供了化繁為簡的技術支撐和思路,但是,好的工具並不能保證出現正確的設計。

 

  我們學習解一元二次方程的時候,什麼十字相乘法、配方法等等,開始會學習很多技巧性的解法。這類似工業化境界——讓你把複雜問題分解轉化成更簡單的問題。但是,這些技巧不總是有效,最終的解決方案還是推匯出求解公式,徹底解決此類問題。

 

  軟體產品設計是否存在從需求到代碼的求解公式呢?這是一個已經被研究半個世紀的課題了,可惜國內99%的軟體研發人員並不瞭解這方面的進展。等到洋人的堅船利炮打到你家門口的時候,你才發現人家用這麼好的技術武裝自己,那就為時太晚了。

 

  在這個階段,你會用數學方法保障軟體系統設計的正確性。你可能會把下面這些理論引入你的設計過程:

 

  在系統設計中自覺運行有限狀態機器、Petri網等數學模型去設計、分析系統結構。

  引進諸如淨室技術、B方法、Z語言等形式化軟體工程技術,確保系統設計的正確性。

 

  最後你會發現,軟體產品設計真正是一件嚴格科學過程,如果以山野村夫的心態做這件事情,最終必然一塌糊塗。

 

四、藝術境界

 

  人本質上是非理性的動物,我們為人類設計產品的最終目標不是為了正確,因此,數學境界並未把你帶到最終目的地。

 

  人類還沒解決溫飽問題的時候,就學會了在岩石上塗鴉,在脖子上掛項鏈,為人類設計產品,得滿足他們這些貌似毫無價值的癖好。

 

  因此,在能熟練駕馭正確設計產品的技能之後,軟體產品設計將為藝術而戰——我們不是在替客戶設計幹活的工具,相反,我們是在為他們設計一個吸引眼球的超級玩具,一件藝術品。

 

  軟體產品設計師——你不僅僅是工程師,更進一步,你應該是一名駕馭高科技技術的藝術家!

 

五、宗教境界

 

  阿克毛被槍斃了,他不是為科學而來,亦不是為藝術而來,而是為奪取我們的心靈而來!

 

  之所以被槍斃,是因為他採取了文明社會不認可的手段和產品——海洛因。

 

  異曲同工,軟體產品設計的最高境界亦是征服客戶的心靈,讓客戶像崇拜上帝一樣被您的軟體所征服。似乎除了海洛因,能做到這一點的就是宗教了。

 

  看看IBM、看看微軟、看看Intel、看看蘋果,這些超級商業巨人,為了讓你把口袋的錢老老實實地掏出來,是不是一個個儼然一副佈道者的模樣?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.