實施軟體平台與框架開發的注意事項

2021-08-01 21:48:47 字數 1371 閱讀 2631

我在《專業嵌入式軟體開發 — 全面走向高質高效程式設計》一書中用一章的內容指出,軟體平台與框架開發是高質軟體的打造之路。這裡想進一步談一談實施這一高質軟體打造方法所需注意的事項。

首先,明確(軟體)平台與框架開發的主要目的不是對作業系統的功能進行封裝,而是為所需開發的上層應用提供服務。雖然平台與框架的開發需要通過對作業系統的功能進行封裝來實現為上層應用提供服務,但兩者的主、次不能顛倒。

以為上層應用提供服務為導向,有助於我們在平台與框架開發的過程中取捨哪些功能應納入其範疇,而不致於「淪落為」包羅永珍。

致力於將平台與框架打造成包羅永珍的目的或許是為了提高其生存能力,但這並不是一種可取的思想。原因在於,各種作業系統所提供的功能並不完全相同,有些功能可以通過抽象的方法在不同的作業系統上為上層應用提供統一的介面,但有些功能卻不能。如果平台與框架所提供的某一功能在乙個作業系統上存在,在另乙個作業系統上卻沒有,在使用者沒有意識到這一點的情形下,當基於該功能模組的軟體需要實現跨作業系統時就會出現問題。在平台與框架的設計上,除非萬不得以,我們應盡可能從技術上避免這類問題的發生。

其次,乙個平台很難適用於所有的應用領域,框架尤為如此。如前面所說,平台與框架是為上層應用提供服務的,而應用存在業務(或行業)領域問題。由於不同的領域可能具有完全不同的特點,這就使得同一平台或框架難以同時適用。很顯然,抽象層次越高的軟體模組其領域適應性就越差;反之,抽象層次越低其領域適應性就越好。比如,乙個對執行緒進行簡單封裝的軟體模組,由於其抽象層次低,所以幾乎可以運用於任何的應用領域。

再次,平台與框架的開發是乙個長期漸近的過程,而非一蹴而就的。在設計者沒有足夠軟體行業和業務領域經驗的情況下,要一口氣設計出高質量的平台與框架是不大現實的。因此,通常情況下,平台與框架應當按需逐步演進。一方面,這可以避免過度設計所帶來的資源浪費;另一方面,這有助於在我們發現設計不當時更方便地對已有設計進行改進。

軟體需求的變更是一種常態,這種變更有時會反映於平台與框架不能適應新的需求。在這種情況下,需要我們回頭審視現有設計,並對設計進行恰當的變更以適應新的需求。不少公司在打造自己的平台與框架時,剛開始的出發點是好的,但由於在實施過程中忽視了平台與框架存在「過時」問題,使得最終的結果並非如期所願。用靜態的思維對待平台與框架開發將最終導致前功盡棄,甚至引發懷疑這種方法的有效性。

最後,我們需要意識到,平台與框架開發所需的軟體設計能力和業務經驗要求更高、設計所涉及的範圍也更廣。從複雜度守恆的觀點來看,引入平台與框架開發有助於簡化上層應用的實現,但這種簡化是通過將上層的複雜度轉移到下層而做到的。正因如此,儘管平台與框架開發這種高質軟體打造方法有效,但並不是每乙個專案團隊都能實施它,因為瓶頸在於缺乏具備實施這一方法所需能力的人。

本文出自 「李雲」 部落格,請務必保留此出處 

實施軟體平台與框架開發的注意事項

我在 專業嵌入式軟體開發 全面走向高質高效程式設計 一書中用一章的內容指出,軟體平台與框架開發是高質軟體的打造之路。這裡想進一步談一談實施這一高質軟體打造方法所需注意的事項。首先,明確 軟體 平台與框架開發的主要目的不是對作業系統的功能進行封裝,而是為所需開發的上層應用提供服務。雖然平台與框架的開發...

實施軟體平台與框架開發的注意事項

我在 專業嵌入式軟體開發 全面走向高質高效程式設計 一書中用一章的內容指出,軟體平台與框架開發是高質軟體的打造之路。這裡想進一步談一談實施這一高質軟體打造方法所需注意的事項。首先,明確 軟體 平台與框架開發的主要目的不是對作業系統的功能進行封裝,而是為所需開發的上層應用提供服務。雖然平台與框架的開發...

框架開發文件在改進中的總結與改進

在前期文件編寫方面的錯誤總結 1 思考思路方面 完全是基於過程的思考方法,比如說在搭建整個檔案的架構時,是這樣考慮的 整個框架需要哪些功能,這些功能各涉及到哪些使用者,這些使用者能幹什麼,不能幹什麼 導致整個文件編寫的比較亂。再者,文件剛開始起步時,是完全照著別人的需求文件來組織目錄的,所以在行文結...