什么是软件的二次开发?
3个回答
展开全部
软件的二次开发是指支持软件二次开发的原软件系统都提供相应的SDK(Software develop kit)。二次开发人员可以根据SDK中提供的公开的API(应用程序接口)来访问软件原有的一些基本功能,并根据这些基本功能组合,扩展进而形成更加专业或新的功能以完成用户特殊的需求。
对已有软件产品的功能进行扩充或根据特殊需要组合扩展功能等。
扩展资料:
软件二次开发的条件:
1、要有这个开源产品的所用语言的语言基础。
2、要对这个开源产品的功能和使用要有比较熟悉,因为熟悉了,才知道一个需求下来,要改什么,什么是系统自带的,大概要怎么改。
3、要熟悉这个开源产品的数据结构,代码结构,系统的框架结构,核心是哪里,附属功能是在哪里。简单点说,就是数据库,代码逻辑,文件目录的熟悉。如果是用接口式的二次开发,则需要对这个接口比较熟悉,一般来说会有相应的文档。
4、根据需求,然后利用开源产品的内核,进行系统的扩展和修改,以达到需求。
5、对其提供的SDK中的API函数有一定了解,以利于对SDK中个函数的使用更加灵活方便。
参考资料来源:
展开全部
管理软件的二次开发就是在现有软件产品的基础上,针对客户的个性化需求进行的开发,一般是由软件产品的开发厂商进行,或由厂商提供二次开发接口和源码由第三方来进行。不同于完全的定制开发,二次开发不是从头开发,是在已有软件的基础上进行的。评估一个软件产品是否合格,二次开发接口的成熟、完善、是否容易是一个重要的标志。
现有的产品功能不能满足客户的需求,或需要和其他软件进行对接、实现数据的交换和传输等。二次开发一般会根据现有产品技术和设计情况,需要提供相关的接口或源码,同时需要了解个性化的功能和需求,综合进行设计和开发。
二次开发的工作量是由现有产品的功能与客户个性化需求的差异程度,接口的难易程度、系统的设计(如:模块之间耦合程度低)、产品的扩展性(是否适合于二次开发)等综合因素决定的。二、管理软件二次开发的优势
1、相对于完全的定制开发,二次开发的工作量小、时间短、风险低。
2、二次开发是在已有产品的基础上进行的,原有产品功能和业务的积累能够很好的被继承。
3、解决了单纯的产品化个性化需求不能满足的问题。三、管理软件二次开发存在的问题
二次开发存在问题总体上讲是和现有系统息息相关的,特别是软件系统的架构和设计、二次开发接口的难易程度。
1、二次开发最好是基于系统提供的接口进行开发,如果是直接针对源码修改开发,特别是在核心源码的基础上进行处理,不仅会导致已有功能出现新的错误和不稳定,厂商标准产品升级后不能直接进行覆盖升级需要重新整合,这种情况是灾难性的,很多用户不清楚问题的严重性,这也是很多软件厂商不愿意提供二次开发的原因之一。
2、现有产品需提供成熟和完善的系列接口,这是考察一个软件产品是否成熟和规范的重要指标之一,否则二次开发只能由原厂商进行,如果厂商的服务和支持不及时、不能提供良好的服务,后续的服务和开发无法进行。
不能进行二次开发导致现有系统不能深入的使用或只能替换,现有的投资和时间投入都付之东流。
3、不是所有的产品都能进行二次开发,没有成熟和规范的接口,系统设计和编码非常差的系统,二次开发的时间和成本要远远高于系统的替换和完全定制开发,这点也是至关重要、容易被忽略。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询