天天看點

"限制驅動的軟體分析&設計新技術"開篇

 基于“限制驅動的進化理論”的“限制驅動的軟體分析&設計新技術”消除了軟體分析、設計、開發中的任意性、神秘性、不确定性和經驗性,而重新賦予軟體分析、設計、開發過程必然性、内在邏輯推演性、确定性、可控性。

   軟體開發過程的每一步都是限制驅動的,輸入+限制=輸出。

  對于軟體系統而言,輸入是使用者需求,輸出是可執行代碼。不同層次的開發人員因為有不同的限制,導緻最後開發出來的軟體系統的品質不同。但是最基本的輸出就是可執行,并能實作目前的功能。

   開發人員的進化過程就是不斷的提高限制等級、加碼的過程,這個過程可能是經驗的、可能是有意識的、可能是客觀必須的。

   開發人員針對限制的認識不同、對限制的解決方案的不同,而産生不同層次的開發人員,如架構師、分析員、設計師、進階程式員、程式員...

   “限制驅動的軟體分析&設計新技術”将提煉出軟體分析和設計中的内在驅動力,即限制,并消除軟體開發過程中的任意性和不确定性。

   軟體開發過程中表面的任意性和不确定性來自于施加于軟體系統的限制各不相同。而由于編譯器對限制的低要求,導緻五花八門的軟體實作出現。

   限制的多少決定軟體系統的品質,而編譯器隻負責可執行,不負責品質。

   有聊勝于無,但有不等于好,現在好不等于将來好。

   淺顯點說,吃飽不等于吃好,吃好不等于吃健康。而編譯器隻檢查是否吃飽。

   最低層次的程式員還處于“有聊勝于無”的初級階段。

   另外,一個程式員如何可以晉級為進階程式員、甚至設計師、系統分析員、架構設計師?不同角色之間的内在差別和聯系是什麼?有沒有捷徑或者可控的路徑來持續進階?可能大多數都是個糊塗賬。“限制驅動的軟體分析&設計新技術”會明白的告訴你,不同角色的差別在于各自對軟體系統施加的限制不同。當然,這也不排除知識積累、技術積累的局限,對于某種限制的解決方案也有高下之分。

   舉個例子,為什麼有些系統劃分為2層、有些是3層、有些确實4層、5層、6層...?很多人并不了解各種分層适用的限制,而僅僅生搬硬套,盲目應用。

本文轉自 trufun 51CTO部落格,原文連結:http://blog.51cto.com/trufun/15326,如需轉載請自行聯系原作者

繼續閱讀