最近老是有人問我軟體工程有哪些步驟?說實在的學校畢業那麼久,真的有點忘了!趁著還沒忘乾淨以前,先做個紀錄吧!不過不一定跟教課書裡說的一樣。
- 需求分析
- 客戶訪談,收集需求資訊,判斷客戶正確意圖。
- 市場分析,粗略評估所需資源與成本,客戶族群。
- 競爭力分析,競爭者產品規格、行銷通路。
- 系統分析
- 需求方塊關係圖。
- 系統方塊關係圖。
- 人力/時程預估。
- 成本分析、計算、報價。
- 尋求各項解決方案。
- 系統設計
- 規格設計與確認。
- 人力配置與協作團隊聯絡窗口。
- 時程安排。
- 使用者控制介面、操作流程規劃。
- 系統控制流程規劃。
- 測試及生產計畫。
- 意外預測、處理、及預防。
- 程式設計
- 統一工作環境。
- 建立源碼清單。
- 版本管控/異動清單。
- 測試
五大循環的重點是,是在每一個階段都必須時常向上回饋,以檢查設計是否偏離客戶需求、逾時、或者超出成本預算。
以機器手臂的開發為例:
- 需求分析(利用訪談、比較同類型產品,產生以下的需求)
- 模組化設計。
- 智慧型防碰撞。
- 方便的定位/檢測。
- 圖形/稿本化制定操作流程。
- 通訊及協同工作。
- 系統分析(圖就不畫了,用文字代替)
- 可替換型手臂/手掌。如電銲、氣動/電動螺絲起子、氣動/電動板手、吸嘴、噴槍、砂輪機等。
- 雷射 3D 掃描儀(定義工作空間,防碰撞)。
- 圖形採樣及辨識系統(兩組CCD)(用於檢測與校正)。
- OpenCV。
- Matrox Image Library。
- 傳感器介面系統(用於定位與錯誤防治)。
- 稿本引擎及驅動元件系統(用於制定操作流程)。
- 流水線管理系統(Client/Server)(用於供應鏈的管理)。
- 經由上述模組規劃產生
- 機械、電器、軟體規格書,並請求客戶確認。
- 計算成本、利潤、人力、工時,並向客戶報價。
- 系統設計
- 電機/機構/電子電路設計。
- CCD 視覺系統。
- 計算機軟體系統。
- 伺服器管理系統。
- 程式設計
- 測試
|