iT邦幫忙

2025 iThome 鐵人賽

DAY 1
0
Software Development

軟體開發養成計畫:以小程式實作深化開發能力系列 第 1

[Day1]踏入軟體開發的第一步:前言&軟體開發流程模型

  • 分享至 

  • xImage
  •  

前言

這次的挑戰方向我設定為「軟體開發養成計畫」。
內容將以程式設計能力的培養為核心,從基礎語法練習出發,逐步延伸到進階應用。不僅希望達成能寫出程式,更進一步朝向具備設計與規劃能力的層次發展。

30天挑戰目標

在接下來的 30 天裡,我會完整記錄這段學習歷程,呈現每個小程式的開發過程與成果,並結合軟體開發中重要的觀念與方法。透過這樣的實作 + 思維並行,我期望養成持續精進的習慣,讓每天都能累積一點進步。
這些看似簡單的小程式,將會一步步堆疊出屬於我的開發養成之路,也成為日後挑戰更大型專案的基礎。

那麼,接下來就一起來看看我在 「軟體開發流程模型」 上的學習收穫吧!


軟體開發流程模型

軟體開發流程模型是甚麼?

簡單來介紹,軟體開發的過程都會需要有組織、有階段性的方法和架構,有需求分析、軟體規劃與設計、軟體開發、軟體測試與上線、維護與更新等流程。這些模型定義了各階段的先後順序、責任分工以及如何處理變更,以確保軟體品質與專案管理的效率。

以下是最常見的兩種流程模型:

Waterfall Model

Waterfall Model瀑布式開發流程,如其名,它的概念像瀑布一樣,流程從上到下依序進行,可以說是軟體開發最基礎的流程。
Waterfall Model圖片

特徵

  • 必須完成一階段才能進入下一階段。
  • 適合需求明確、不常變動的專案。

缺點

  • 後期修改困難且成本高,對市場變化反應較慢。
  • 使用者往往要到專案末期才看到成品。

Agile Model

Agile Model敏捷開發模型,概念為透過迭代 (Iteration)和增量 (Increment),快速交付小部分功能,並能持續改進。與Waterfall Model不同,這是為了適應市場與需求的快速變化而產生的一種方式。
Agile Model圖片

特徵

  • 調整空間彈性高。
  • 強調與使用者的密切溝通和快速回饋。

缺點

  • 開發過程會不斷變動,導致預算超出預期。
  • 需要團隊成員高度合作與自律。

DevOps(補充)

DevOps 是一種文化與實踐方法,旨在讓開發與運維緊密合作,透過自動化工具提高軟體交付速度與品質。它不是一個獨立的開發流程模型,而是可以作用於 Waterfall Model 或 Agile Model 的方法。

特徵

  • 強調開發與運維的協作,縮短開發到部署的時間。
  • 注重系統監控與即時回饋,快速應對錯誤與問題。

缺點

  • 初期導入成本高,需要熟悉自動化、雲端與基礎設施。

Waterfall、Agile、DevOps 的核心差異對照表:

流程 / 方法 特徵 優點 缺點
Waterfall (瀑布式) 線性流程,一階段完成後才能進入下一階段 適合需求穩定的專案,規劃完整 後期修改困難,回應市場慢,使用者要到末期才見成品
Agile (敏捷) 迭代與增量開發,快速交付小部分功能 調整彈性高,與使用者溝通密切,快速回饋 開發過程變動大,可能超出預算,需要團隊高度合作
DevOps 開發與運維協作,自動化 CI/CD,持續監控 部署快且穩定,減少摩擦,提高效率 初期導入成本高,需要熟悉自動化與雲端技術

Q:Waterfall Model v.s. Agile Model 要如何做選擇使用呢?

A:這兩種開發流程特性不同,可以依照專案種類來去做選擇。
如果專案需求很明確,而且變動不大,例如硬體控制系統或醫療專案,那 Waterfall 比較適合。
因為它有明確的階段,一步步走下去,文件完整,也方便管理。缺點是如果需求後期改變,修改成本很高,對市場變化的反應比較慢。
但如果專案需求常常變動,或者市場節奏很快,例如 App 開發或網頁服務,那 Agile 就比較適合。
因為它透過短週期的迭代和快速交付功能,能讓使用者提早看到成果並給回饋,團隊也能即時調整方向。缺點是過程不斷變動,需要團隊成員高度合作,且要有自律性。
所以呢,選哪個流程,主要還是看專案需求的穩定性和市場節奏,如果需求固定就用 Waterfall,如果需求容易變動就用 Agile


參考資料

  1. 軟體開發如何進行?一篇看懂軟體開發流程、開發方法與工具
  2. 誤打誤撞學了Spring Boot 還當了後端工程師系列 Day 29 - 開發流程(上) 瀑布式(Waterfall Model) & 敏捷式(Agile Model)

下一篇
[Day2]開發環境準備:選擇適合新手的程式開發工具
系列文
軟體開發養成計畫:以小程式實作深化開發能力4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言