在很多人看來,計算機軟件開發主要就是開發人員的工作,只要把想法告訴他們,他們就能把軟件開發出來,這種情況是存在的,要不這個軟件非常簡單,要不有這樣能力的開發人員綜合能力是非常強的,但這種認知也是片面的,開發一個計算機軟件不單單只是開發人員的工作,有時候開發人員工作所占用的資源、時間甚至只是整個項目中非常小的一部分。
那到底開發一個計算機軟件的基本流程是怎么樣的?需要什么人員的參與呢?
一、可行性分析
1、公司要對項目確定項目經理,由公司和項目經理確定項目的主要組成人員,包括:產品經理、架構工程師、UI工程師、開發工程師、測試工程師等。
2、項目經理組織業務人員、產品經理等對項目的場景、效益、技術、管理等各方面進行調研和可行性分析,并把存在的問題及時與客戶進行交流,輸出項目的調研報告、可行性分析報告等。
3、若經過可行性分析,項目組能在規定的時間和資源范圍內完成該項目,則出成本和資源使用計劃書,并把相關資料提交給公司和客戶,可以著手準備下一步的工作;若經過調研和分析,項目組無法在規定的時間和資源范圍內完成該項目,則把相關依據提交給公司和客戶,協調對資源進行調整,調整完成后進入下一步的工作。
二、需求分析
1、產品經理要進行需求采集、需求分析和需求確認這幾方面的工作,然后輸出需求分析文檔和產品原型圖,文檔和產品原型圖要及時與客戶進行溝通,不符合客戶要求的要及時修改,并做好修改記錄。
2、確定原型圖后,產品經理可輸出業務流程圖和頁面跳轉流程圖,并與客戶做開發前的需求確認工作。
3、產品經理輸出培訓文檔,對項目組的人員進行需求講解。
4、架構工程師根據需求對整個軟件的體系架構和關鍵模塊進行分析設計。
5、架構工程師和開發工程師根據需求和架構設計,制定項目開發計劃和模塊分解表。
6、UI工程師根據需求、原型圖和開發計劃,制定UI設計計劃,以保證及時完成各頁面UI設計工作。
三、概要設計
1、架構工程師根據需求和體系架構對軟件運行環境、模塊編碼、流程控制、接口、運行控制和數據結構進行設計,并輸出概要設計文檔。
2、開發工程師根據概要設計文檔設計數據庫結構,并輸出數據庫設計說明書。
3、UI工程師根據需求分析、原型圖和UI設計計劃,制定UI設計規范,并輸出文檔。
四、詳細設計
1、UI工程師根據產品原型圖、UI設計規范,設計軟件界面效果圖。
2、開發工程師確定每個模塊的算法,寫出每個模塊詳細的過程描述。
3、開發工程師確定模塊接口的細節,包括對系統外部的接口和用戶界面,對系統內部其它模塊的接口,以及模塊輸入數據、輸出數據及局部數據的全部細節,并形成詳細設計文檔。
4、為每一個模塊設計出一組測試用例,以便在開發階段對模塊代碼進行預定的測試。
5、開發工程師根據數據庫設計說明書進行數據庫物理設計,設計數據庫表、字段、描述等,統一命名規則。
在開發前的這幾個階段,推薦使用一站式設計工具-碼前,輕松搞定需求梳理+原型設計+UI設計等編碼前的工作,還可以一鍵切圖和標注,大大提升工作效率。
五、開發階段
1、開發工程師根據產品原型圖、UI效果圖、詳細設計文檔,選擇合適的開發環境、開發工具、開發語言等,統一每個模塊、頁面的命名規范。
2、開發工程師搭建軟件框架,進行模塊編碼。
3、開發工程師對自己開發出來的模塊要進行測試用例自測或是開發人員之間互相測試,排除出現的問題。
4、開發工程師要養成良好的開發習慣,編寫好開發說明文檔,做好代碼功能注釋、使代碼的可讀性更強。
六、測試階段
1、測試工程師根據開發階段形成的說明文檔和程序架構,設計測試用例,測試用例不僅要考慮合理的輸入數據,也要考慮不合理的輸入數據。
2、測試工程師對程序進行單元測試、集成測試、系統測試,檢查是否正確完成規定的功能,把出現的編碼錯誤、算法錯誤整理成文檔,并提交給開發工程師。
3、開發工程師根據測試工程師提交的測試文檔,對出現的錯誤進行修改,再交由測試工程師測試,通過后完成。
4、產品經理、測試工程師安排軟件測試版給普通用戶試用,并收集用戶使用意見和問題,把軟件出現的錯誤交由開發工程師進行修改,這時候軟件的錯誤數量已經很少,對軟件的改動不大。
5、產品經理、測試工程師完成軟件各端口的操作手冊、軟件使用手冊等。
七、運行維護
1、項目經理組織客戶、業務人員、產品經理、開發工程師進行軟件驗收、上線運行工作。
2、產品經理對軟件使用人員進行培訓。
3、開發工程師定時對軟件進行各項維護,對使用過程中出現的問題要及時進行修改。
從以上基本流程可以看出,軟件開發不單單只是開發人員的工作,要開發出一款符合需求、運行穩定的軟件,項目組人員需要完成大量開發前期和后期的相關工作。