1. 程式人生 > >(轉)軟體開發流程

(轉)軟體開發流程

一、開發流程圖

二、過程產物及要求

本表主要列出開發階段需要輸出的過程產物,包括產物名稱、成果描述、負責人及備註,即誰、在什麼時間、應該提供什麼內容、提供內容的基本方向和形式是什麼。

專案啟動階段

產物名稱成果描述負責人

調研文件瞭解專案背景,瞭解專案干係人目標方向產品經理

團隊組建確認團隊人員及配置產品總監

業務梳理明確專案的目標、角色、各埠及模組產品經理

需求階段

產品原型產品的線框圖產品經理

需求概要基於線框圖,作技術評估,達成業務理解的一致性研發工程師

專案里程碑確認專案重大時間節點研發專案 經理

專案開發計劃梳理各階段、各埠的開發計劃研發專案經理

專案任務分解表將計劃分配到團隊研發專案經理

設計階段

介面效果圖及標註基於線框圖,作效果圖,須適量考慮互動內容UI設計師

UI設計規範在UI介面基礎上,輸出主要介面的設計規範UI設計師

需求規格基於效果圖,明確業務實現細節,消除對最終成果理解的不一致研發工程師

概要設計功能實現的視覺化,有助於理清思路,減少技術盲區和低階缺陷,實現並行開發,提高效率研發工程師

通訊協議通訊協議是指雙方實體完成通訊或服務所必須遵循的規則和約定研發工程師

表結構設計確認要建的資料庫表及其表結構研發工程師

開發階段

產品程式碼程式碼

測試階段

測試用例明確測試方案,包括測試模組、步驟、預期測試工程師

測試結果報告輸出測試結果測試工程師

使用者手冊系統操作手冊測試工程師

常規文件

專案週報每週開發內容及下週開發計劃研發專案經理

測試周報每週測試內容及下週測試計劃測試工程師

評審會議紀要評審的過程文件整體團隊

三、過程說明

專案啟動

產品經理和專案干係人確定專案方向,產品型專案的干係人包括公司領導、產品總監、技術總監等,專案的話則包括客戶方領導、主要執行人等。

公司領導確認專案組團隊組成,包括產品經理、研發專案經理、研發工程師、測試團隊等。

明確專案管理制度,每個階段的成果產物需要進行相應的評審,評審有相應的《會議紀要》;從專案啟動起,研發專案經理每週提供《專案研發週報》;測試階段,測試工程師每週提供《專案測試周報》。

產品經理進行需求調研,輸出《需求調研》文件。需求調研的方式主要有背景資料調查和訪談。

產品經理完成《業務梳理》。首先,明確每個專案的目標;其次,梳理專案涉及的角色;再來,每個角色要進行的事項;最後,再梳理整個系統分哪些埠,要有哪些業務模組,每個模組再包含哪些功能。

需求階段

進入視覺化產物的輸出階段,產品經理提供最簡單也最接近成品的《產品原型》,線框圖形式即可。在這個過程中還可能產生的包括業務流程圖和頁面跳轉流程圖。業務流程圖側重在不同節點不同角色所進行的操作,頁面跳轉流程圖主要指不同介面間的跳轉關係。

產品經理面向整個團隊,進行需求的講解。

研發專案經理根據需求及專案要求,明確《專案里程碑》。根據專案里程錶,完成《產品開發計劃》,明確詳細階段的時間點,最後根據開發計劃,進行《專案任務分解》,完成專案的分工。

研發工程師按照各自的分工,進入概要需求階段。《概要需求》旨在讓研發工程師初步理解業務,評估技術可行性。

設計階段

UI設計師根據產品的原型,輸出《介面效果圖》,並提供介面的標註,最後根據主要的介面,提供一套《UI設計規範》。UI設計規範主要是明確常用介面形式尺寸等,方便研發快速開發。UI設計常涵蓋互動的內容。

研發工程師在介面效果圖,輸出《需求規格》,需求規格應包含最終要實現的內容的一切要素。

研發工程師完成《概要設計》、《通訊協議》及《表結構設計》,及完成正式編碼前的一系列研發設計工作。

開發階段

研發工程師正式進入編碼階段,這個過程雖然大部分時間用來寫程式碼,但是可能還需要進行技術預研、進行需求確認。

編碼過程一般還需進行服務端和移動端的聯調等。

完成編碼後需要進行功能評審。

測試階段

測試工程師按階段設計《測試例項》,未通過的流程測試提交至Jira,分配給相應的開發人員調整。

研發工程師根據測試結果修改程式碼,完成後提交測試,測試通過後完成。

測試工程師編寫《測試結果報告》,包括功能測試結果、壓力測試結果等。

測試工程師編寫系統各埠的《操作手冊》、維護手冊等。

系統上線

與客戶或者上級達成一致後,系統進行試執行,穩定後上線。

四、瀑布模型

瀑布模型將軟體生命週期劃分為制定計劃、需求分析、軟體設計、程式編寫、軟體測試和執行維護等六個基本活動,並且規定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。

在瀑布模型中,軟體開發的各項活動嚴格按照線性方式進行,當前活動接受上一項活動的工作結果,實施完成所需的工作內容。當前活動的工作結果需要進行驗證,如果驗證通過,則該結果作為下一項活動的輸入,繼續進行下一項活動,否則返回修改。