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