什么是软件的二次开发?
管理软件的二次开发就是在现有软件产品的基础上,针对客户的个性化需求进行的开发,一般是由软件产品的开发厂商进行,或由厂商提供二次开发接口和源码由第三方来进行。
不同于完全的定制开发,二次开发不是从头开发,是在已有软件的基础上进行的。
评估一个软件产品是否合格,二次开发接口的成熟、完善、是否容易是一个重要的标志。
现有的产品功能不能满足客户的需求,或需要和其他软件进行对接、实现数据的交换和传输等。
二次开发一般会根据现有产品技术和设计情况,需要提供相关的接口或源码,同时需要了解个性化的功能和需求,综合进行设计和开发。
二次开发的工作量是由现有产品的功能与客户个性化需求的差异程度,接口的难易程度、系统的设计(如:模块之间耦合程度低)、产品的扩展性(是否适合于二次开发)等综合因素决定的。
二、管理软件二次开发的优势1、相对于完全的定制开发,二次开发的工作量小、时间短、风险低。
2、二次开发是在已有产品的基础上进行的,原有产品功能和业务的积累能够很好的被继承。
3、解决了单纯的产品化个性化需求不能满足的问题。
三、管理软件二次开发存在的问题二次开发存在问题总体上讲是和现有系统息息相关的,特别是软件系统的架构和设计、二次开发接口的难易程度。
1、二次开发最好是基于系统提供的接口进行开发,如果是直接针对源码修改开发,特别是在核心源码的基础上进行处理,不仅会导致已有功能出现新的错误和不稳定,厂商标准产品升级后不能直接进行覆盖升级需要重新整合,这种情况是灾难性的,很多用户不清楚问题的严重性,这也是很多软件厂商不愿意提供二次开发的原因之一。
2、现有产品需提供成熟和完善的系列接口,这是考察一个软件产品是否成熟和规范的重要指标之一,否则二次开发只能由原厂商进行,如果厂商的服务和支持不及时、不能提供良好的服务,后续的服务和开发无法进行。
不能进行二次开发导致现有系统不能深入的使用或只能替换,现有的投资和时间投入都付之东流。
3、不是所有的产品都能进行二次开发,没有成熟和规范的接口,系统设计和编码非常差的系统,二次开发的时间和成本要远远高于系统的替换和完全定制开发,这点也是至关重要、容易被忽略。
...
“二次开发”是什么?有哪些?怎么学?
二次开发是相对于底层开发而言的。
底层开发:所谓的底层开发是指通过计算机编程语言,在不基于(利用)其它平台软件的情况下 实现新的算法、模块,以及一款独立的新的平台软件。
由于底层开发不基于别人的软 件平台,有很强的独立性;同时开发者可以从底层算法的基础上实现,各种功能的 优化和突破。
具有很强的独立性和灵活性。
但是由于是底层开发一切都要重头做起, 难度相当大,软件开发的周期相当长,同时为了更好地追求速度和可移植性多采用 较为低级的语言如:C++。
而不提倡采用C#,Java等。
二次开发:所谓的二次开发是指通过计算机编程语言,在基于(利用)其它平台软件的情况下, 实现各种符合自主需要的新的模块、以及新的软件。
由于二次开发是基于别人的平台 下开发出来的,注定了它不能脱离自己开发所依据的平台软件或者是该平台所发布的 运行时;同时很难或者说无法再算法和功能上实现新的突破。
具有很强的依赖性和局 限性。
但是由于是二次开发,许多困难的底层算法部分已经被制作成各个模块,可方 便开发人员随时调用,开发起来方便快捷,大大缩短了软件开发的周期。
多采用的 开发语言为:C#、VB、Java等。
简单来说:底层开发是中国创造,二次开发是中国制造,其中的技术含量可想而知!二次开发有哪些:那就得看你要对什么东西进行二次开发了。
要是对AutoCAD进行二次开发那就 是AutoCAD二次开发;对ArcGIS进行二次开发那就是ArcGIS二次开发。
以此类 推。
可以说有多少可以依据的平台软件就可以有多少中二次开发。
怎么学:一、看你想在哪一方面发展了,例如:如果你想在GIS行业发展肯定要会一款GIS的二次 开发,而GIS平台软件也多种多样,如:ArcGIS、MapGIS、SuperMap等等,你可 以选一款市场前景大的平台软件进行二次开发(首推:ArcGIS)。
二、二次开发也是软件开发,只要你有过强的计算机语言功底和开发思想,一切问题 都会迎刃而解。
要知道一通百通的道理。
有过强的计算机语言功底和开发思想才是 成功的王道!...
“二次开发”是什么?有哪些?怎么学?
二次开发是相对于底层开发而言的。
底层开发:所谓的底层开发是指通过计算机编程语言,在不基于(利用)其它平台软件的情况下实现新的算法、模块,以及一款独立的新的平台软件。
由于底层开发不基于别人的软件平台,有很强的独立性;同时开发者可以从底层算法的基础上实现,各种功能的优化和突破。
具有很强的独立性和灵活性。
但是由于是底层开发一切都要重头做起,难度相当大,软件开发的周期相当长,同时为了更好地追求速度和可移植性多采用较为低级的语言如:C++。
而不提倡采用C#,Java等。
二次开发:所谓的二次开发是指通过计算机编程语言,在基于(利用)其它平台软件的情况下,实现各种符合自主需要的新的模块、以及新的软件。
由于二次开发是基于别人的平台下开发出来的,注定了它不能脱离自己开发所依据的平台软件或者是该平台所发布的运行时;同时很难或者说无法再算法和功能上实现新的突破。
具有很强的依赖性和局限性。
但是由于是二次开发,许多困难的底层算法部分已经被制作成各个模块,可方便开发人员随时调用,开发起来方便快捷,大大缩短了软件开发的周期。
多采用的开发语言为:C#、VB、Java等。
简单来说:底层开发是中国创造,二次开发是中国制造,其中的技术含量可想而知!二次开发有哪些:那就得看你要对什么东西进行二次开发了。
要是对AutoCAD进行二次开发那就是AutoCAD二次开发;对ArcGIS进行二次开发那就是ArcGIS二次开发。
以此类推。
可以说有多少可以依据的平台软件就可以有多少中二次开发。
怎么学:一、看你想在哪一方面发展了,例如:如果你想在GIS行业发展肯定要会一款GIS的二次开发,而GIS平台软件也多种多样,如:ArcGIS、MapGIS、SuperMap等等,你可以选一款市场前景大的平台软件进行二次开发(首推:ArcGIS)。
二、二次开发也是软件开发,只要你有过强的计算机语言功底和开发思想,一切问题都会迎刃而解。
要知道一通百通的道理。
有过强的计算机语言功底和开发思想才是成功的王道!
二次开发 软件著作权
这要看对方是否有进行修改的权授,如果有的话是可以二次开发,但仍然是不能佣有二次开发软件著作权的。
这里举一个案例:最近遇到一个案子,觉得比较有意思,可以拿出来和大家分享一下。
案例描述:A公司从B公司购买了B公司拥有著作权的计算机软件M,使用过几年后,需要升级,于是找到原B公司的技术人员离职后在外成立的C公司,签订软件升级开发合同,由C公司对软件M进行二次开发,B公司发现后,诉C公司侵权,C公司以A公司合法拥有M软件,依据《计算机软件保护条例》拥有二次开发权为由抗辩。
观点是:在此案件中,C公司侵害了A公司软件著作权中的修改权。
C公司律师引用的抗辩法律条文如下--计算机软件保护条例2002年的规定:第十六条 软件的合法复制品所有人享有下列权利: (一)根据使用的需要把该软件装入计算机等具有信息处理能力的装置内; (二)为了防止复制品损坏而制作备份复制品。
这些备份复制品不得通过任何方式提供给他人使用,并在所有人丧失该合法复制品的所有权时,负责将备份复制品销毁; (三)为了把该软件用于实际的计算机应用环境或者改进其功能、性能而进行必要的修改;但是,除合同另有约定外,未经该软件著作权人许可,不得向任何第三方提供修改后的软件。
其实看一条法条,要认真的其分析其中的法理,才能正确理解立法的意图,从而正确的理解法律。
著作权法和软件保护条例的立法目的都是在“保护”著作权人合法的权利基础上鼓励创新和技术进步,其核心是通过“保护”来促进技术进步。
从这条法规中,可以看到A公司的确是拥有对合法拥有的M软件的复制品的二次开发的权利,但是应该解读出,这种权利是有约束的权利,从法条可以得知,软件的合法复制品所有人可以对该软件进行必要的修改。
但很明显这种合法的二次开发行为,有两个约束条件,第一是该权利只属于该软件的合法复制品的所有人,第二是该二次开发行为只能针对该合法复制品进行。
法条并没有规定该修改权可以被转授权扩散使用,而且本法条本身就是在著作权范围外对软件合法复制品的所有人再进行必要的有限授权,因此这种授权本身必然就是限制性的,因此也不能再进行扩大的法律解释,也就是说软件必要修改的行为实施人只能是软件的合法复制品的所有人。
具体到本案,A公司的二次开发权利能且仅能由A公司自己实施,能且只能在A公司合法购买拥有的这份M软件的复制品上使用。
A公司拥有的二次开发权利是不可扩展到第三方公司的,因此C公司的行为必然侵犯了B公司的软件的修改权。
听说有个二次开发平台的管理软件。
谁介绍下啊?
需要看转让的是软件的版权还是仅仅是软件产品。
软件属特殊商品,既有无形资产的特性也具有商品的属性,应区分对待。
如果销售的是软件的版权,实际上,软件版权的所有权发生转移,属营业税纳税范围,为无形资产转让,应当注销所出售软件版权的账面价值(即购入软件版权账面余额与相应的已计提减值准备+二次开发支出的成本,先前应先做无形资产处理),实际取得的转让收入与该项软件版权账面价值的差额计入营业外收入或营业外支出。
出售版权的营业税,作为相应营业外收入的减少或营业外支出的增加。
如果销售的是软件产品,购入软件的版权实际上并没有转移,买方拥有的仅是软件产品的使用权,因此不应注销软件版权的账面价值,转让取得的收入计入主营业务收入,发生与转让有关的各种费用支出计入主营业务支出,软件版权按既定的会计政策进行摊销,计入主营业务成本。
按软件产品的销售价格缴纳增值税。
企业实现ERP系统软件的二次开发要点问题是什么?
业内资深专家曾经指出:“CIO对于企业的ERP系统软件二次开发前期要做一个良好的规划,要对二次开发的成本作出一个大致的预算,如总项目金额的5%等。
预算做出以后就需要进行跟踪控制。
在软件选型阶段,就可以发现一些明显的二次开发需求,CIO最好能够把这时候的二次开发成本推给软件供应商。
” 第三、为企业争取尽可能大的利益 二次开发在在和软件口服务商“沟通”过程当中,应尽量的争取最大的利益任何企业应用信息系统,都会遇到升级的困惑,CIO在和服务商签署合同时,就应该把二次开发的成本、利益都想到,尽可以的让服务商和企业一起做好二次开发,这样在系统和企业业务的熟知程度方面做到“互利互补”。
喵眔喵