4. 軟體開發周期中的模型
根據軟體項目類型的不同,有很多的軟體開發周期模型。每種模型都遵循一系列操作的步驟,以适應項目需要,進而確定軟體開發順利進行。流水線模型,可疊代模型,靈活開發模型,快速開發模型是最受歡迎的模型,而且已經被廣泛應用于生産環境中,如下,他們将會被一一介紹:
1. 流水線模型
流水線模型是最早的,最為人所熟知的,同時也是應用最廣泛的模型。它是一個簡單的序列化的生命周期,友善了解和使用。在其他階段開始之前,每一個階段必須被完整的實作,也就意味着是不允許出現重疊的階段。上個階段的輸出服務于下一個階段的輸入。
流水線模型的各個步驟的解釋:
1. 需求
需求階段主要關注于與業務使用者進行交流,以便收集和分析需求。項目經理盡力去了解和分析業務,抓住所有的使用者需求的細節,在業務案例文檔中定義範圍、安排資源。
2. 設計
業務案例文檔已經在需求階段準備好了,商業分析通過利用項目經理收集的資訊和需求來評估軟體并開始進行邏輯設計。系統分析人員基于滿足所有使用者需求的進階設計,将進階設計轉換為考慮硬體和軟體技術的實體設計。系統架構也在設計階段進行定義。
3. 實作
實作階段主要是代碼的編寫,程式開發人員根據在需求和設計階段準備的文檔中的說明來開發軟體,它們的輸出是功能規範,其中記錄了所實作功能的所有詳細資訊。
4. 測試
利用實作階段的輸入,處于測試階段的測試人員将根據功能規範起草測試計劃。 程式員在檢查表中準備測試計劃,以檢查每個功能是否可以按預期執行。 業務分析師為使用者準備測試計劃,該計劃着重于滿足使用者需求。 最後,品質控制(QC)專家收集了之前所有階段的所有文檔,并在更深層次上對各個方面進行了全面測試,并編寫包括系統體系結構,使用的技術等文檔。
5. 部署
從測試階段收到“通過”後,該産品就已經準備好釋出了。軟體或應用程式将被部署到生産伺服器中,以供使用者安裝在自己的計算機上。
6. 維護
實際上,不可避免地會出現一些缺陷或問題。此外,世界每天都在變化,是以有必要不時進行更新。維護階段用于解決這種情況并再次将更改傳遞給使用者。在維護階段,涉及軟體開發生命周期流水線模型的子集。
每個階段的輸入和輸出總結如下:
模型的應用
在SDLC中使用的流水線模型的适用情況如下:
- 數量有限的歧義或未确認的要求
- 需要有詳細文檔介紹的軟體
- 使用成熟的技術而不是動态更新的
- 管理部門可以提供足夠的資源,并且有專家來擔任每個階段的角色。
- 小型項目
優劣
優勢:
- 易于管理,因為每個階段都有明确的時間表,可以明确界限;
- 易于控制,由于沒有重疊的開發階段,是以在有限的外部因素的情況下更易于控制;
- 提供廣泛的文檔
- 随着項目從概念、設計、實作、測試、故障排除、運作再到維護的發展,為項目提供了嚴格且獨特的的控制政策,使項目向前發展。
劣勢:
- 不能有範圍變更和需求變更;
- 知道産品部署之前,不能預覽産品;
- 不能靈活的處理一些意外風險;
- 在項目開始和結束時與使用者的溝通有限;
- 需要更多的資源,一些團隊成員可能會長時間閑置;
- 不适合長期或進行中的項目,因為項目可能永遠不會結束并到達最後一個階段。