2010-04-12 90 views
4

是否有任何標準或「最佳實踐」方式限制特定功能的特定應用程序?如何限制特徵功能

示例:我們的產品具有多種功能,我們的客戶可以選擇他們想使用的功能,而產品的成本根據實際使用的功能而有所不同。

過去,我們與軟件安裝程序一起發佈了一個加密的許可證文件,其中包含有關客戶的信息以及他們已啓用的功能集。在代碼中,我們從許可證文件中讀取並根據許可證文件啓用功能。

這似乎是做工精細,除了有一些缺點:

  • 與新功能升級的用戶可以排序的疼痛
  • 如果某一特定功能在多個地方整個應用程序顯示了起來,開發人員可能沒有意識到,這個功能應該被許可,而忘記用戶
  • 如果許可證文件損壞,刪除,移動,重命名授予的功能之前檢查許可文件等應用程序將無法運行

我們正在準備推出一組新功能,我只是好奇社區中的其他人如何解決此問題?

回答

0

通常有3種常見方法是:使用固定的程序版本

  • (每個版本只是增加了功能,無法定製你想要或不哪些功能)。您也可以使用「顛覆」,如Software x.0的基本版和專業版。 Windows使用這種方法。
  • 具有功能模塊,這是一個產品本身。 Matlab使用這種方法。
  • 擁有基本功能的軟件,然後插件或額外的應用程序出售。 Eclipse使用這種方法(儘管它是免費的)

您可以將這些方法混合使用以獲得更好的可定製性。

+0

感謝您的意見,所有這些肯定比我們目前所擁有的「更好」。最重要的是,我認爲插件框架最有意義! – jeremyalan 2010-04-13 21:26:26

1

爲什麼不把產品分解成像Matlab這樣的模塊?然後爲每個模塊充電。授權可以保持聯機,最終用戶只需下載模塊即可啓用該功能。

+0

我需要做一點研究,看看我們如何才能真正爲我們做這項工作(如果甚至有必要的話),但我同意這種變化可能是最好的選擇。 我也喜歡「插件」選項,正如下面的@Samuel_Carrijo所指出的那樣,但是再次需要研究一下如何真正實現它。 感謝您的輸入! – jeremyalan 2010-04-13 21:24:44