抄别人软件,有源码的情况下开发时间会不会比原程序的开发时间短呢?我们公司恰好就碰到了这样一个项目,客户的需求就是要根据他们提供的程序,让我们公司原封不动地使用C#开发一个一模一样的软件出来,于是,公司老板、项目经理和我就此开了个小会,谁知道在开发时间上闹了点不愉快!

打开网易新闻 查看更多图片

事情是这样的,我们公司接到了一个客户的开发需求,要求的就是将他们公司现有的上位机软件进行重新开发,功能和界面最好和原先的上位机程序一模一样!

这个上位机程序原本是日本的一家公司开发的,甲方使用这个程序已经快二十年了,但是,现有的软件已经不能满足他们的需求,加上原程序是用VB6写的,因此,日本那边估计也不想再去维护这边的系统了,所以价格开的高的离谱。

甲方也不惯着,考虑到未来还有继续拓展的需求,于是就准备在国内找一家软件公司对软件进行破解,然后重新开发一套,一方面源码掌握在自己人手里,一方面使用不过时的技术,开发起来既方便,又便宜,于是就找到了我们公司。

不得不说,我们公司也有大神,我们公司一位大神三下五除二,就给原程序反编译了!这个项目也就到了我的手里,于是,老板让我先简单看下反编译后的代码,然后开个会!

会上,项目经理简单的介绍了下软件的基本功能,并阐述了客户的要求,最后还追加了一句:“我们现在有源码,开发起来应该很快!”

我问项目经理,知道不知道当初日本的开发团队大概花了多长时间,项目经理跟我说,当初日本的那边也是一个人开发的,大概也就花了两个月不到的时间,于是,我跟项目经理说,那我估计时间不会比他们花得少!

项目经理听我这么说就很纳闷,说软件是现成的,并且源码也经过了反编译,为什么时间花得会比原本软件开发的还要多呢?

我直接跟项目经理说,现在的源码是VB6的,VB6的代码格式和C#本来就有很大的不同,这就相当于要把一篇英文文章翻译成中文一样,原本写这篇文章的人可能就花了一个小时,但是,翻译这个文章的话,如果只是翻译字面意思,那的确很快,但是如果要翻译得准,要更好的表达文章作者的意思,那就不是只翻译字面意思那么简单了。

首先,这个程序的界面是现成的,如果我只是照抄界面,估计几天就抄完了,但是每个界面的业务逻辑是需要靠我去一点一点分析代码理出来的。

而且,因为现在拥有的源码是反编译过来的,本身代码就有点难懂,想要在此基础上抄,就是会比原程序消耗的时间要更多!

虽然我这么说了,但是估计还是没说服项目经理,他怀疑似的问我:“那你准备需要多长时间?”

我跟项目经理说,既然你说原程序当初是一个人花两个月完成的,那我也暂估两个月,但是,我只能保证软件抄个大九不离十,想要像原先的程序那样稳定运行,估计还是得再过一个月以后了!

项目经理有点为难得说:“三个月?时间太长了!”

我跟项目经理说:“我只能尽量加快开发速度,不行你给我加人也可以!”

结果,老板发话了:“这个项目本来就没什么钱,公司接下这个项目仅仅只是想和客户打好关系,因此,不会在这个项目里面投入过多人力,因此就还是你一个人开发吧!”

结语

最后,老板看我也不松口,想了想,一拍桌子说:“行吧,那就先定两个月,也不是说软件一做出来就要求能够稳定运行,这不现实!但是,时间得抓紧!”

老板言下之意,还是同意了我的估时,但项目经理脸色就有点难看了,因为客户到时候催的不是老板,而是他!

我觉得项目经理对于软件开发多少都有些误解,如果一个软件只有一两个功能,可能真的就是照抄就行,但是,一个两个月时间开发出来的软件,说复杂其实也复杂,不是单纯的把代码做个转换那么简单!