跳轉至內容

軟體工程/流程簡介

來自華夏公益教科書

首先,我們需要簡單地瞭解一下全域性。軟體開發流程是強加於軟體產品開發的一種結構。它由一系列活動和步驟組成,其目標是找到可重複的、可預測的流程,以提高生產力和質量。

軟體開發活動

[編輯 | 編輯原始碼]
系統開發生命週期模型
系統開發生命週期模型

軟體開發流程包括一系列活動和步驟,它們是

  • 需求
  • 規格
  • 架構
  • 設計
  • 實現
  • 測試
  • 部署
  • 維護

在建立軟體產品中,一項重要的任務是提取需求或進行需求分析。客戶通常對他們想要的最終結果有一個抽象的概念,但不知道軟體應該做什麼。熟練且經驗豐富的軟體工程師會在此時識別出不完整、含糊不清甚至矛盾的需求。經常演示即時程式碼可以幫助降低需求不正確的風險。

從客戶那裡收集到一般需求後,應該確定並明確說明開發範圍的分析。這通常被稱為範圍文件。

某些功能可能不在專案範圍內,這是由於成本原因,或者由於在開發開始時需求不明確而導致的。如果開發工作是在外部進行的,這份文件可以被視為法律檔案,因此,如果出現任何爭議,可以澄清對客戶的承諾中任何模糊不清的地方。

實現、測試和文件化

[編輯 | 編輯原始碼]

實現是軟體工程師實際編寫專案程式碼的流程部分。

軟體測試是軟體開發流程中不可或缺的重要組成部分。流程的這一部分確保儘早發現缺陷。

為了便於未來維護和增強,在整個開發過程中都會對軟體的內部設計進行文件化。這可能還包括編寫 API,無論是外部 API 還是內部 API。對專案中的所有內容進行文件化非常重要。

部署和維護

[編輯 | 編輯原始碼]

程式碼經過適當測試,獲得釋出批准並出售或以其他方式分發到生產環境後,部署工作就會開始。

軟體培訓和支援很重要,許多開發人員都沒有意識到這一點。如果組織中沒有人最終使用它,那麼開發團隊在建立軟體上花費的時間和規劃再多也是無濟於事的。人們通常抵制改變,並避免冒險進入陌生的領域,因此,作為部署階段的一部分,為您的軟體的新客戶提供培訓課程非常重要。

維護和增強軟體以解決新發現的問題或滿足新的需求,可能比最初開發軟體花費的時間更多。可能需要新增不符合原始設計的程式碼來糾正不可預見的問題,或者客戶可能要求更多功能,需要新增程式碼來滿足他們的要求。如果維護階段的勞動力成本超過先前階段勞動力成本的 25%,那麼很可能至少有一個先前階段的整體質量較差。在這種情況下,管理層應考慮在維護成本失控之前重建系統(或部分系統)。


參考文獻

[編輯 | 編輯原始碼]


[編輯 | 編輯原始碼]
華夏公益教科書