開發軟體時,可以參考日本公司的作法,使用v字型、w字形開發流程來開發。開發時可以分成三種段落:設計、建立程式、測試與修正。依照順序開發,可以確保提早找出缺失、提早修正,並確保建立好的功能和程式與客戶需求相同。
依照v字型、w字形流程開發,也可以達到容易分配開發工作、讓管理者更容易把握開發進度的效果。透過前期做好的設計書,也可以讓開發人員確保自己的開發進度、中途加入的開發人員,也可以在最短期間內銜接上。
V字開發流程
要求分析
與客戶溝通確認,系統建立完成後最終需要達到的項目。在這個階段要確認系統的開發大方向,並且需要確認大致的必要功能性需求與必要的非功能性需求。與客戶溝通,提案、確認系統建立好的執行想像的樣子,對於後面其他階段的開發,會是重要的一環。
要求定義
確認與客戶間各自擔任、負責的部份,將各別負責的部分定義、必要功能性需求、必要的非功能性需求等紀錄在定義書中,雙方確認完成後,再正式開始進行系統開發。
基本設計
滿足開發系統中的必要功能時,需要滿足的各種詳細條件。將必要的功能一條條整理出來,將系統處理流程等以各功能為分別的方式記錄在設計書中,這份設計書是之後開發時要遵守的開發方向的參考資料。
詳細設計
一個功能的建立會需要用複數個程式來組成,在此階段,要達到以下目的
- 清楚記錄功能的處理流程。使用UML的活動圖、時序圖等方式,將詳細的動作流程標示清楚,後面協助開發的人員也會比較容易銜接,並且透過此方式可以將設計與開發的負責人分開,各司其職。
- 定義清楚各個程式主要處理的函式內容。越詳細的紀錄越好,如: 函式名、輸入引數格式、返還值格式與名稱、函式功能概要、處理狀態返還值(如: 正常執行、出現異常等情況之代碼)。
- 函式的輸入、輸出範例。開發人員可以透過這些例子作為初期判斷功能是否成功完成的判斷依據。
單體測試
針對各個建立好的功能中,建立好的函式功能是否與詳細設計中的規劃一致。此階段是以開發人員的角度來測試,因此程式中各個可能出現的情況都要做測試,如: 正常執行、異常輸入等。又因為函式是建立系統的最小單位,因此在此階段的偵錯、修正程式問題,對於系統開發中要花的成本會相對較低。
結合測試
確認完個別的函式後,接著要測試由複數個函式組成的功能。對應的設計是基本設計,因此測試時要確認的既為功能是否有達成基本設計中規劃的目標。
系統測試
藉著測試複數功能組成的系統,並對照要求定義中設定好的目標等資訊,判斷建立好的系統是否有達到客戶要求的條件,並且以使用者的角度測試所有可能會出現的問題。測試、確認完成後,既可向客戶交代,並且因為之前已經完成各個階段的測試,因此又可保證完成開發的系統的品質。
驗收測試
此階段前的測試環境主要是在開發端。在實際使用前,尚需要在客戶日後會使用的環境中進行測試。可能由於環境設定的問題、或是交接時有遺漏等原因,造成在客戶端無法使用的情況,因此此階段也是必須要做的測試。
コメント