我想问一下做软件二次开发需要什么基础知道
埃迪。
若博德8级2009-06-26同学,你理解有些偏差。
所谓的CAD\CAE\CAM软件比如UG,CAD,ProE二次开发,主要是用其软件自带的脚本语言进行。
如果你能用c++,当然语言基础有,但还是要学习其脚本语言的具体特性,比如maya用php的变种,max自有一套script,并且各版本不兼容。
autoCAD也有一套命令行,Rhino有类c++的SDK,都不完全。
office又用vbscript。
说白了,都是些不尽完善的正统语言的变种,商业利益的。
你还得一一学,没通用的。
追问: 首先先谢谢你呀~~你说的那些3D造型的软件我没有用过对他不太了解。
比如UG是用C语言编的,我们厂里是用C++和C混编对它进行二次开发使他的功能进行拓展。
我想问的是这个过程需要掌握那些东西。
还有你说的脚本语言只得是什么意思?像UG里面的GRIP?用它进行二次开发有很大的局限性。
回答: 你说ug都不够你们用,是想作插件卖给商业用户,还是自己用???二次开发使他的功能进行拓展按理不过是调用它的sdk中的api,那你必须学习,这些api,以及做好接口。
追问: 是我们厂里自己用,对就是调用它自己的API函数,做这个工作都需要什么基础知识?只需要了解API函数就行了? 回答: 应该就是你所用软件的api,再注意下,应该是按照其接口规范编译成ug能够调用的插件,模块之类。
加上对c++的了解,应该足够了。
什么是软件的二次开发?
管理软件的二次开发就是在现有软件产品的基础上,针对客户的个性化需求进行的开发,一般是由软件产品的开发厂商进行,或由厂商提供二次开发接口和源码由第三方来进行。
不同于完全的定制开发,二次开发不是从头开发,是在已有软件的基础上进行的。
评估一个软件产品是否合格,二次开发接口的成熟、完善、是否容易是一个重要的标志。
现有的产品功能不能满足客户的需求,或需要和其他软件进行对接、实现数据的交换和传输等。
二次开发一般会根据现有产品技术和设计情况,需要提供相关的接口或源码,同时需要了解个性化的功能和需求,综合进行设计和开发。
二次开发的工作量是由现有产品的功能与客户个性化需求的差异程度,接口的难易程度、系统的设计(如:模块之间耦合程度低)、产品的扩展性(是否适合于二次开发)等综合因素决定的。
二、管理软件二次开发的优势1、相对于完全的定制开发,二次开发的工作量小、时间短、风险低。
2、二次开发是在已有产品的基础上进行的,原有产品功能和业务的积累能够很好的被继承。
3、解决了单纯的产品化个性化需求不能满足的问题。
三、管理软件二次开发存在的问题二次开发存在问题总体上讲是和现有系统息息相关的,特别是软件系统的架构和设计、二次开发接口的难易程度。
1、二次开发最好是基于系统提供的接口进行开发,如果是直接针对源码修改开发,特别是在核心源码的基础上进行处理,不仅会导致已有功能出现新的错误和不稳定,厂商标准产品升级后不能直接进行覆盖升级需要重新整合,这种情况是灾难性的,很多用户不清楚问题的严重性,这也是很多软件厂商不愿意提供二次开发的原因之一。
2、现有产品需提供成熟和完善的系列接口,这是考察一个软件产品是否成熟和规范的重要指标之一,否则二次开发只能由原厂商进行,如果厂商的服务和支持不及时、不能提供良好的服务,后续的服务和开发无法进行。
不能进行二次开发导致现有系统不能深入的使用或只能替换,现有的投资和时间投入都付之东流。
3、不是所有的产品都能进行二次开发,没有成熟和规范的接口,系统设计和编码非常差的系统,二次开发的时间和成本要远远高于系统的替换和完全定制开发,这点也是至关重要、容易被忽略。
...
软件二次开发怎么样?
gis的软件工程师比较好的呀~~GIS软件开发工程师是稀缺人才。
“今天你GIS了没?”“GOOGLE EARTH好酷!”现如今的GIS软件应用已经融入到了各行各业和老百姓的日常生活当中,如何开发出功能丰富又简洁好用的GIS应用系统成了亟待解决的大问题。
你是否掌握着丰富的软件开发技能却又苦于找不到新的项目方向吗?投身GIS软件开发可能让你豁然开朗! 工作内容:负责GIS、WEB GIS产品的应用开发和系统测试;独立进行数据标准、制作方案的设计工作;参与GIS系统分析设计等技术文档编制。
职业要求教育培训:地理信息系统、计算机应用或软件相关专业,大专及以上学历。
工作经验:精通GIS开发;了解GISGPSRS相关知识,熟悉地理信息数据制作内外业全过程工作;熟悉ArcGIS、Mapinfo或者国内常用的GIS平台;熟悉至少一种数据库的开发和设计;具有良好的学习能力,具有强烈的工作责任心、有良好的沟通能力和团队合作精神。
薪资行情一般月薪范围在2500~8000元。
发展路径经过一段时间的工作经验的积累后,可发展成为高级软件工程师、算法应用开发工程师和需求工程师,但需要具有丰富的软件开发经验和相关工作的技术背景。
如果想成为技术经理、项目经理,则还需要具有较强的管理和组织等方面的能力。
听说有个二次开发平台的管理软件。
谁介绍下啊?
1. 找个人,团队还是公司来开发?这个问题的关键点在于项目的预算,以于项目质量和开发周期的要求。
个人,团队和公司的开发质量在大部分情况下都是后面高于前者,如果项目预算充足的情况下,建议优先找公司开发会靠谱很多。
如果预算有限的话,可以考虑下个人开发都或团队工作室。
1.1 个人开发者:优点是开发成本最低,一般一天的开发薪酬为300-700不等(由于项目的大部分的工作量在开发上面,所以通常是找开发人员接手)。
缺点是项目质量差,开发周期长,沟通和后期维护都比较麻烦。
由于找个人开发大都是兼职,所以开发周期通常会比较长,进度上相对难掌握。
另外还有就是除了开发外,项目设计,UI设计,测试,沟通,服务器部署,上线,后期维护等方面缺乏相应的经验,毕竟个人的能力一般都比较局限,只能擅长其中的一两方面,所以很难在项目各个方面都做好。
1.2 团队或工作室:相对而言经验和综合能力相对个人强很多,开发薪酬一般是600到900不等。
由于团队一般是5个人以内,项目的人员配置没有公司那么齐全,通常一个技术可能即充当设计,又兼任测试,所以相对而言项目质量,项目管理,项目经验没有公司那么出色。
1.3 公司:在售前沟通,项目设计,UI设计,项目管理,各个开发领域以及测试等方面都有专长的人负责,分工比较明确,项目经验也比较足,可以解决项目中遇到的各种问题。
项目设计方面也会考虑得比较全面。
缺点是成本相对较高,以广州和深圳为例,公司的App项目人天报价通常是按照1000-1500的薪酬计算。