抄別人軟件,有源碼的情況下開發時間會不會比原程序的開發時間短呢?我們公司恰好就碰到了這樣一個項目,客戶的需求就是要根據他們提供的程序,讓我們公司原封不動地使用C#開發一個一模一樣的軟件出來,于是,公司老板、項目經理和我就此開了個小會,誰知道在開發時間上鬧了點不愉快!
事情是這樣的,我們公司接到了一個客戶的開發需求,要求的就是將他們公司現有的上位機軟件進行重新開發,功能和界面最好和原先的上位機程序一模一樣!
這個上位機程序原本是日本的一家公司開發的,甲方使用這個程序已經快二十年了,但是,現有的軟件已經不能滿足他們的需求,加上原程序是用VB6寫的,因此,日本那邊估計也不想再去維護這邊的系統了,所以價格開的高的離譜。
甲方也不慣著,考慮到未來還有繼續拓展的需求,于是就準備在國內找一家軟件公司對軟件進行破解,然后重新開發一套,一方面源碼掌握在自己人手里,一方面使用不過時的技術,開發起來既方便,又便宜,于是就找到了我們公司。
不得不說,我們公司也有大神,我們公司一位大神三下五除二,就給原程序反編譯了!這個項目也就到了我的手里,于是,老板讓我先簡單看下反編譯后的代碼,然后開個會!
會上,項目經理簡單的介紹了下軟件的基本功能,并闡述了客戶的要求,最后還追加了一句:“我們現在有源碼,開發起來應該很快!”
我問項目經理,知道不知道當初日本的開發團隊大概花了多長時間,項目經理跟我說,當初日本的那邊也是一個人開發的,大概也就花了兩個月不到的時間,于是,我跟項目經理說,那我估計時間不會比他們花得少!
項目經理聽我這么說就很納悶,說軟件是現成的,并且源碼也經過了反編譯,為什么時間花得會比原本軟件開發的還要多呢?
我直接跟項目經理說,現在的源碼是VB6的,VB6的代碼格式和C#本來就有很大的不同,這就相當于要把一篇英文文章翻譯成中文一樣,原本寫這篇文章的人可能就花了一個小時,但是,翻譯這個文章的話,如果只是翻譯字面意思,那的確很快,但是如果要翻譯得準,要更好的表達文章作者的意思,那就不是只翻譯字面意思那么簡單了。
首先,這個程序的界面是現成的,如果我只是照抄界面,估計幾天就抄完了,但是每個界面的業務邏輯是需要靠我去一點一點分析代碼理出來的。
而且,因為現在擁有的源碼是反編譯過來的,本身代碼就有點難懂,想要在此基礎上抄,就是會比原程序消耗的時間要更多!
雖然我這么說了,但是估計還是沒說服項目經理,他懷疑似的問我:“那你準備需要多長時間?”
我跟項目經理說,既然你說原程序當初是一個人花兩個月完成的,那我也暫估兩個月,但是,我只能保證軟件抄個大九不離十,想要像原先的程序那樣穩定運行,估計還是得再過一個月以后了!
項目經理有點為難得說:“三個月?時間太長了!”
我跟項目經理說:“我只能盡量加快開發速度,不行你給我加人也可以!”
結果,老板發話了:“這個項目本來就沒什么錢,公司接下這個項目僅僅只是想和客戶打好關系,因此,不會在這個項目里面投入過多人力,因此就還是你一個人開發吧!”
結語
最后,老板看我也不松口,想了想,一拍桌子說:“行吧,那就先定兩個月,也不是說軟件一做出來就要求能夠穩定運行,這不現實!但是,時間得抓緊!”
老板言下之意,還是同意了我的估時,但項目經理臉色就有點難看了,因為客戶到時候催的不是老板,而是他!
我覺得項目經理對于軟件開發多少都有些誤解,如果一個軟件只有一兩個功能,可能真的就是照抄就行,但是,一個兩個月時間開發出來的軟件,說復雜其實也復雜,不是單純的把代碼做個轉換那么簡單!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.