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