讓軟體具有二次開發功能,提高產品的應變能力

2021-04-02 18:12:07 字數 1815 閱讀 2135

任何乙個軟體,都不可能完全滿足所有使用者的需求,為此,我們必須經常修改我們的程式,隨著使用者的數量的增加,我們會感覺很累,儘管我們的程式增加了很多可以配置的功能,但是還不夠,使用者的需求總在變化,我們無法阻擋,我們不可能將程式中所有的環節都設定為可改變的。是否有乙個好的辦法,可以減輕一下開發人員的負擔,二次開發是乙個很好的選擇。

很多人都知道,autodesk是乙個著名的cad軟體公司,autocad是其最著名的產品之一,該軟體在世界各地的應用非常普及,除了產品本身的易用性和適應性之外,軟體本身具有的二次開發功能,是其在很多行業根深蒂固的重要原因之一。autocad本身功能有限,但是由於其良好的設計,並且兼有非常優秀的sdk解決方案,使用者可以通過二次開發按照自己的要求擴充軟體功能,甚至使得autocad與企業的管理系統融為一體,很多企業,尤其是製造業,幾乎無法離開autocad。

我們設計軟體開始時,往往首先考慮實現功能,然後再考慮優化,基本上不考慮二次開發的功能,其實,二次開發功能也是軟體可維護性的一部分。我們的軟體具有二次開發功能,則在一定程度上,使用者可以自己實現一些不具備的功能,而不是由公司的程式設計師修改**,然後重新由工程人員給使用者公升級,這樣周期長,維護的費用非常之高。軟體具備二次開發功能,具有如下的幾點好處:1、提高軟體產品的競爭力,軟體的適應性更高,可以更多方面的滿足使用者的需求;2、降低軟體的維護成本,尤其在資訊管理類軟體上,使用者的需求總在變化,程式設計師沒有必要總是修改**,使用者可以自己實現,或者由售後工程師自己在使用者工作現場實現。3、將軟體系統的功能限制在一定的範圍之內,而不是根據使用者的要求,無限制的修改程式**,以增加新的功能,可以在一定程度上降低、甚至消除因修改系統**帶來的風險。

當然,增加軟體具有二次開發功能,要做很多任務作,會使初期的開發周期較長。但是,考慮到後期的種種好處,前期的付出是完全值得的。

那麼,如何讓我們的軟體具備支援二次開發的功能?最基本的就是程式動態呼叫預定義的dll中的函式或類,實際的情況可能會複雜一些,下面舉乙個簡單的例子,通過純粹的dll說明如何實現乙個二次開發功能。

2)增加乙個sdk.dll,其中封裝了sys.dll中的很多公開的函式,供使用者呼叫。

3)我們規定使用者在sdk.dll上開發得到的新的dll必須具有兩個基本函式,第乙個函式是bool isuserdll(),並且返回true,另乙個函式是bool execusercommand(void * pparam),可以執行userdll.dll中的函式命令。

4)增加乙個adapter.dll模組,該模組通過loadlibrary函式動態呼叫userdll.dll,並且可以執行其中的函式。它可以同時載入多個使用者dll,並且將有關函式指標儲存到乙個陣列中,便於在適當的時候通過指標呼叫函式。

修改之後的系統如下所示:

我們設計的新版軟體,現在面臨這樣的問題:面對新的使用者,我們直接在新程式的基礎上修改**以滿足使用者的要求,還是,將軟體的基本功能限制在乙個範圍之內,然後通過sdk,開發新的功能,以滿足該使用者的特殊要求?在經歷了苦難的維護歷程之後,我毅然決然的選擇了後者,我們的新版軟體必須具有二次開發的功能,否則,我們死定了。

軟體二次開發的基本結構確定之後,就是明確設定乙個軟體的功能範圍,那些是產品的基本功能,那些功能應該通過sdk實現等等,這點非常重要。另外,sys.dll可能由多個dll組成,這些dll的力度,功能,以及他們之間的介面等問題,看看設計模式和物件導向的設計等書籍,當然,關鍵是實事求是。

openstf二次開發免登入功能

openstf已經很流行了現在有個需求,需要把openstf介入到現有系統中,直接跳轉到裝置管理頁面,話不多說,直接上 var log logger.createlogger auth mock log.setlocalidentifier req.ip switch req.accepts jso...

軟體開發,二次開發,企業管理ERP軟體

上海康雀資訊科技 是一家集計算機軟軟體開發 軟體銷售 諮詢實施 技術維護和客戶化開發為一體的高科技公司。長期以來,公司依靠 標準 成熟 實時 的產品和 及時 真誠 可靠 的服務,致力於推動上海地區企事業單位資訊化的發展,以幫助企業提公升經營管理水平為己任,從企業成本管理著手,擴充套件到企業資源計畫e...

二次開發平台資料匯入功能問題總結

在專案的二次開發中,很多時候需要將原有的系統資料匯入開發平台中,fix es2007中包含了資料匯入工具dts,以下總結了幾個資料匯入功能中常見的問題 1.目前僅3.5版本可實現對xlsx字尾名excel文件資料進行匯入操作,並安裝對應驅動。其他版本需將excel文件儲存為97 03工作薄,即.xl...