天天看點

讓你提前認識軟體開發(43):軟體産品更新流程

第3部分 軟體研發工作總結

軟體産品更新流程

        一個軟體産品做出來之後,并不是說永遠都不用變了。基于以下的種種原因,我們需要對原軟體産品進行更新:

        (1) 使用者對軟體功能提出了新的要求,現在運作的軟體不能滿足使用者的新需求。

        (2) 原軟體存在bug,用更新的方式來修補這些bug。

        (3) 對原軟體的程式進行了優化,新的軟體能夠提升程式的執行效率。

        (4) 自主開發了一些新功能,能夠提升使用者的體驗。

        對于通訊類軟體産品來說,更新是一項浩大的工程,其中牽涉到很多人,包括:市場人員、開發人員、測試人員、技術支援人員等。

        一般說來,通訊類軟體産品的更新流程如圖1所示:

讓你提前認識軟體開發(43):軟體産品更新流程

圖1 通訊類軟體産品的更新流程

        下面對更新流程中的各個步驟進行詳細的說明。

         1. 項目研發經理下達更新任務書

        基于上面提到的原因中的一種或幾種,客戶會要求對軟體産品進行更新。現場的相關人員會将客戶的要求告知研發經理,請他進行評估。

        研發經理評估通過之後,會向本軟體的開發小組下達更新任務書,讓他們安排時間按照更新任務書中的内容來制作更新包。

        更新任務書中包括以下内容:

        (1) 更新任務的下達時間和要求完成更新的時間。

        (2) 現場的裝置情況和目前軟體版本。

        (3) 本次更新的目标(即更新是要解決什麼問題)和需要更新到的軟體目标版本。

        (4) 本次更新的計劃進度及參與的人員。

         2. 開發工程師按照更新任務書的要求制作軟體更新包

         更新任務書下達之後,開發工程師就要按照裡面的内容來制作軟體更新包。

         軟體更新包的制作流程如圖2所示:

讓你提前認識軟體開發(43):軟體産品更新流程

圖2 軟體更新包的制作流程

        在軟體更新包的制作過程中,要注意以下事項:

        (1) 在制作之前,要詳細閱讀更新任務書,特别要搞清楚現場軟體版本是什麼?要更新到哪個版本?

        (2) 對于某些軟體,部署比較的複雜,牽扯到的子產品也比較多。為了了解現場的部署情況,我們可能需要現場人員将該軟體的相關資訊傳回來,這些資訊包括:軟體版本、配置檔案、資料庫腳本等。我們對現場的了解越多,制作更新包出錯的機率就會越小。

        (3) 在制作更新包的過程中,如果有任何疑問,一定要向相關人員求教,不能就放在那裡就不管了。軟體的更新很重要,一個小小的問題就可能會導緻更新的失敗。

        (4) 在更新包制作完成之後,開發人員一定要先行自測,待自測無誤之後再送出測試工程師驗證。軟體自測的相關環境可以叫測試工程師提供。

        (5) 如果軟體的更新包中涉及到資料庫腳本的更新,一定要讓現場人員導回現場所用資料庫中的資料來驗證,以確定腳本處理的正确性。因為很多資料庫腳本會對使用者的資料進行處理,一旦處理不當,會造成使用者資料的丢失或錯誤修改。

        在制作更新包的過程中,開發工程師還要編寫更新指導書,用以指導現場人員按照步驟進行更新操作。該文檔非常重要,要保證内容的嚴謹性及正确性。一般說來,該文檔包括以下内容:

        (1) 在新版本中新增加的功能或要解決舊版本中的相關問題。

        (2) 更新前後,軟體的版本号。

        (3) 本更新包中所包含的内容,如程式、資料庫腳本和文檔等。

        (4) 更新前的準備工作,如備份檔案和資料等。

        (5) 軟體更新的詳細步驟及注意事項。

        (6) 更新失敗後的處理步驟。

        (7) 更新成功後要驗證的功能。

         3. 測試工程師對更新包進行詳細驗證

        開發工程師對更新包自測通過之後,接下來測試工程師就粉墨登場了。他們會對更新包進行嚴格的驗證,以確定現場更新能夠一次搞定。

        如果在驗證的過程中出現問題,他們會及時聯系更新包的制作人員,讓制作人員對相關的問題進行修改。這樣一個不斷循環的過程,直到驗證無誤為止。

         4. 研發經理将驗證通過後的軟體更新包釋出到現場

         在更新包驗證通過之後,研發經理就會将它釋出到現場,并讓現場支援人員與客戶約定好軟體更新的時間。

         軟體更新時間确定好之後,研發經理會通知相關的開發人員和測試人員做好支援工作,以應對更新過程中突發的情況。

         5. 對現場的更新工作進行支援

         在軟體更新的過程中,相關的開發人員和測試人員需要保持通訊的暢通,即:手機要開機、即時通訊工具要打開、郵箱要登陸。如果更新中出現問題,現場人員會及時與開發人員和測試人員取得聯系,讓他們幫忙解決。他們會将現場出現的情況、日志等資訊回報回來,以供分析。

        順便說一下,因為怕影響使用者的正常使用,或者是時區的問題,很多的軟體更新被安排到深夜執行,這就要求開發人員和測試人員辛苦一些,等更新成功之後再休息。都說搞軟體的很辛苦,辛苦在哪裡?就辛苦在這些地方。

        以上五步是一個完整的更新流程,不同的軟體産品可能會略有差別。總的說來,軟體更新是一個系統的工程,要確定每一步都做到很完美。

        随着軟體原有功能的不斷完善和新功能的層出不窮,對其進行更新是在所難免的,軟體的成功更新是廣大軟體從業者的共同願望。軟體的每一次成功更新,都是售前售後、開發測試等人員通力合作的結果,都是大家用辛苦勞動換來的。不過,當聽到新的軟體功能被客戶啧啧稱贊的時候,大家都會覺得非常的欣慰,覺得付出總會有回報的。