4 軟體開發的第一個步驟是什麼?
(A) 撰寫程式碼
(B) 進行可行性探討
(C) 確認已知問題及需求
(D) 進行單元測試
統計: A(0), B(2), C(5), D(0), E(0) #3399851
詳解 (共 2 筆)
【第一步:找關鍵字】
關鍵字:
-
第一個步驟(順序題)
-
軟體開發(Software Development)
-
需求(核心關鍵)
? 這題的陷阱在「你以為一開始就寫程式」,但其實不是。
【第二步:白話翻譯】
這題在問:
? 「如果你要做一個系統,第一件事應該做什麼?」
是:
-
直接寫程式?
-
還是先搞清楚要做什麼?
【第三步:解題思路】
這題在考什麼觀念?
? 軟體開發流程(SDLC, Software Development Life Cycle)
解題步驟
-
先想一個生活例子:蓋房子
-
蓋房子第一步是什麼?
→ 不是施工,是先知道要蓋什麼(需求) -
對應到軟體
→ 先搞清楚「問題與需求」
原理與規則(生活比喻)
把軟體開發想成「蓋房子」:
-
需求分析(要幾房幾廳?)
-
系統設計(畫藍圖)
-
實作(開始蓋)
-
測試(檢查漏水)
? 如果一開始不知道需求
? 就會「蓋錯房子」
【第四步:選項分析】
(A) 為什麼錯?
✘ 錯
寫程式是後面才做的事情
? 還沒搞清楚需求就寫
→ 很容易重寫(災難)
(B) 為什麼錯?
✘ 錯
可行性探討(Feasibility Study)
? 通常是在需求之後或一起進行
但考試標準流程是:
? 先確認需求,再評估可行性
(C) 為什麼對?
✔ 正確(本題答案)
? 第一步就是:
確認問題與需求(Requirement Analysis)
因為:
-
不知道要做什麼 → 後面全部錯
(D) 為什麼錯?
✘ 錯
單元測試(Unit Test)是:
? 寫完程式之後才做的事
【觀念補充與延伸】
核心觀念定位
? 軟體工程(必考觀念)
? SDLC 幾乎每年出題
法條或定義
-
需求分析(Requirement Analysis):
確認系統要解決的問題與使用者需求
標準開發流程(SDLC)
-
需求分析
-
系統設計
-
程式開發
-
測試
-
維護
觸類旁通(舉一反三)
對比概念
-
功能需求 vs 非功能需求
-
功能需求:系統要做什麼
-
非功能需求:速度、安全性等
-
變化題型
-
問:哪個階段成本最高?
? 通常是「維護階段」
【記憶口訣】
? 「先想清楚,再動手」
或
? 「需求不清,後面全崩」
【常見陷阱】
學生最容易搞混的地方
以為「寫程式」是第一步
心理盲點
看到「軟體開發」就直接想到 coding
避坑指南
? 看到「第一步」:
一定先問自己:
「我要做什麼?」
? 這就是需求分析