針對CAD項目的需求不確定性和技術複雜性,黃院長找到了又一個陳東風的老熟人——王力軍教授。
此前王教授承接的格力新型扁線電機風扇已經在年後順利移交給了格力工廠,按照李文山的要求派出了他的學生前去鵬城進行技術指導。王教授對陳東風又搞出這麼大的動靜一點都沒有吃驚,很愉快的接受了這項任務。
經過幾天深入的溝通,王教授已經基本明白了陳東風的通用型CAD軟件想要做出來的效果——參數化。
陳東風飛要求很簡單通用型的CAD軟件必須要立足於滿足大部分人的需求,在這之上纔是專業性需求。所以王教授的工作不僅僅是要從自身的需求出發,還要兼顧初學者。
“現在計算機的價格,一般廠子恐怕還是無力承擔其昂貴的價格吧?而且簡單的設計畫畫草圖就可以了,搞個計算機製圖,恐怕意義不大。當然通用型的想法很棒,但是可能理想化了。”王力軍說。
“王教授,我敢和你打個賭10年後每個工廠都有計算機,20年後每個大學生都會使用計算機,30年後每人一臺計算機。計算機以後會越來越便宜,功能會越來越強大。而我們的CAD目前是聚焦於機械領域,但是在幾何圖形引擎的幫助下可以發展出很多的版本,例如建築,自動化等一切設計領域,並且還可以進行各種模擬仿真實驗...”陳東風再次展現神棍的一面,開始滔滔不絕的進行展望,把在場的人都侃的暈暈乎乎。
王教授聽完後,也不在遲疑,立即開始組織進行關於CAD功能需求的問卷調查。
需求讓技術變複雜,需求本身很複雜,對應的技術也會很複雜。要響應需求的變化,也會讓技術變得複雜,對於明確的需求,相對來說技術實現是容易的,
但是,隨着需求的不斷變化,新的需求可能會破壞原有的代碼架構,導致系統越來越臃腫複雜,維護也更加困難。所以王教授的前期需求分析對整個CAD項目會起到至關重要的作用。
陳東風搞定了王教授幫忙進行下一步的需求分析後,然而並沒有對他現在的工作有任何的用處。
幾何圖形引擎的人員雖然到位了,但是人員會讓技術變複雜,軟件開發不是一個人,而是一個team,團隊內部成員水平不一樣,擅長的技術方向也不一樣,所以有效協作是很大的考驗。況且楊光帶來的新人有的連C++都沒有聽說過,一切都要從頭開始。
於此同時CAD軟件想要需要用到的技術本身也是複雜的,軟件項目中選擇編程語言、框架、技術組件、數據庫等技術或工具,都是很複雜的,如果不能進行深入學習是很難進行掌握的。
如果出現一點點的紕漏,那麼要讓軟件穩定運行就是難於上青天了。
這些技術的複雜性,會導致軟件開發變得複雜,開發成本很高,五位核心項目成員第一天開會的討論就是要解決這個問題。
“幾何圖形引擎是一個複雜的需求,現在進行三塊的劃分還是太籠統了,必須進行細分,不然這麼多的人也參與不進來。”陳東風開門見山的說。
?對於複雜的需求,架構設計通過對系統抽象分解,把複雜系統拆分,最終拆分成一個個小的功能,單個功能的開發難度,則是清晰的、簡單的。其次,拆分功能可以幫助組織人員一起高效協作。對複雜系統的抽象拆分後,開發人員可以獨自完成功能模塊,最後通過約定好的接口協議集成。這樣最終各個開發小組規模不大,既有效協作,又能各自保證戰鬥力。
???陳東風想法一下子說出了在場人員的心理,前面幾次開發軟件的規模遠遠比不上現在的CAD項目,大家心理都沒有底,而陳東風的方法讓他們豁然開朗。
“如果按照你說的組織人員和技術把系統和團隊拆分,安排好拆分後的排列關係,讓拆分後的部分能通過約定好的協議相互通信,共同實現最終的結果。那麼該怎麼用合適的編程語言和協議,把框架、技術組件、數據庫等技術或者工具有效組織起來,一起實現需求目標呢?”楊光問出了關鍵問題。
陳東風也是有備而來,他是項目的發起人,對整個項目最爲清晰,他不經勾勒好了幾何圖形引擎的框架,甚至還勾勒出了CAD軟件的框架。
“開發圖形引擎的目的就是對底層二維、三維圖形系統庫的全部使用細節進行了抽象,並提供了基於現實世界對象的接口,那麼在開發CAD軟件時候使用少量代碼就能構建一個完整的三維圖形,這是我們的目的。”陳東風先簡單回顧了下圖形引擎的目的。
接下來陳東風爲大家展示了他設計的可擴展分層程序框架——擁有高效率和高度可配置的資源管理器,採用高效的網格資料格式儲存模型數據,並且具有清晰、整潔的設計以及全面的文檔支持。
當然其中很多都是想法,能不能實現還要再說。不過他的可擴展分層框架還是很有特點的。該框架把一個根節點作爲是所有幾何圖形的入口點,用於配置系統內的其它對象,必須最先創建和最後釋放。渲染系統設置圖形的渲染屬性並執行渲染操作。圖形管理器負責組織幾何圖形,生成並管理幾何圖形的各個參數。
圖形組織原理是將圖形劃分成抽象的多個空間,這些空間還可以劃分成多個子空間,每個空間由一個圖形節點來管理。
將大量圖形節點按照空間的劃分層次組織成樹狀結構,從而完成對整個幾何圖形的有序組織。
除了楊光以外,另外三人都是半路出家,看了陳東風畫出了這一系列框圖,不免的有點目眩神離。因爲陳東風根本就沒有提到具體的接口協議以及具體的實施辦法。
楊光倒是若有所思...