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