管理軟件的二次開(kāi)發(fā)就是在現有軟件產(chǎn)品的基礎上,針對客戶(hù)的個(gè)性化需求進(jìn)行的開(kāi)發(fā),一般是由軟件產(chǎn)品的開(kāi)發(fā)廠(chǎng)商進(jìn)行,或由廠(chǎng)商提供二次開(kāi)發(fā)接口和源碼由第三方來(lái)進(jìn)行。不同于完全的定制開(kāi)發(fā),二次開(kāi)發(fā)不是從頭開(kāi)發(fā),是在已有軟件的基礎上進(jìn)行的。評估一個(gè)軟件產(chǎn)品是否合格,二次開(kāi)發(fā)接口的成熟、完善、是否容易是一個(gè)重要的標志。
現有的產(chǎn)品功能不能滿(mǎn)足客戶(hù)的需求,或需要和其他軟件進(jìn)行對接、實(shí)現數據的交換和傳輸等。
二次開(kāi)發(fā)一般會(huì )根據現有產(chǎn)品技術(shù)和設計情況,需要提供相關(guān)的接口或源碼,同時(shí)需要了解個(gè)性化的功能和需求,綜合進(jìn)行設計和開(kāi)發(fā)。
二次開(kāi)發(fā)的工作量是由現有產(chǎn)品的功能與客戶(hù)個(gè)性化需求的差異程度,接口的難易程度、系統的設計(如:模塊之間耦合程度低)、產(chǎn)品的擴展性(是否適合于二次開(kāi)發(fā))等綜合因素決定的。
二、管理軟件二次開(kāi)發(fā)的優(yōu)勢
1、相對于完全的定制開(kāi)發(fā),二次開(kāi)發(fā)的工作量小、時(shí)間短、風(fēng)險低。
2、二次開(kāi)發(fā)是在已有產(chǎn)品的基礎上進(jìn)行的,原有產(chǎn)品功能和業(yè)務(wù)的積累能夠很好的被繼承。
3、解決了單純的產(chǎn)品化個(gè)性化需求不能滿(mǎn)足的問(wèn)題。
三、管理軟件二次開(kāi)發(fā)存在的問(wèn)題
二次開(kāi)發(fā)存在問(wèn)題總體上講是和現有系統息息相關(guān)的,特別是軟件系統的架構和設計、二次開(kāi)發(fā)接口的難易程度。
1、二次開(kāi)發(fā)最好是基于系統提供的接口進(jìn)行開(kāi)發(fā),如果是直接針對源碼修改開(kāi)發(fā),特別是在核心源碼的基礎上進(jìn)行處理,不僅會(huì )導致已有功能出現新的錯誤和不穩定,廠(chǎng)商標準產(chǎn)品升級后不能直接進(jìn)行覆蓋升級需要重新整合,這種情況是災難性的,很多用戶(hù)不清楚問(wèn)題的嚴重性,這也是很多軟件廠(chǎng)商不愿意提供二次開(kāi)發(fā)的原因之一。
2、現有產(chǎn)品需提供成熟和完善的系列接口,這是考察一個(gè)軟件產(chǎn)品是否成熟和規范的重要指標之一,否則二次開(kāi)發(fā)只能由原廠(chǎng)商進(jìn)行,如果廠(chǎng)商的服務(wù)和支持不及時(shí)、不能提供良好的服務(wù),后續的服務(wù)和開(kāi)發(fā)無(wú)法進(jìn)行。
不能進(jìn)行二次開(kāi)發(fā)導致現有系統不能深入的使用或只能替換,現有的投資和時(shí)間投入都付之東流。
3、不是所有的產(chǎn)品都能進(jìn)行二次開(kāi)發(fā),沒(méi)有成熟和規范的接口,系統設計和編碼非常差的系統,二次開(kāi)發(fā)的時(shí)間和成本要遠遠高于系統的替換和完全定制開(kāi)發(fā),這點(diǎn)也是至關(guān)重要、容易被忽略。